ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sbaill...@apache.org
Subject cvs commit: jakarta-ant/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit RJUnitTask.java ServerElement.java ClientElement.java FormatterElement.java
Date Sun, 27 Jan 2002 11:39:53 GMT
sbailliez    02/01/27 03:39:53

  Modified:    proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit
                        ServerElement.java ClientElement.java
                        FormatterElement.java
  Added:       proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit
                        RJUnitTask.java
  Log:
  - Change to RJUnitTask to avoid conflicts
  
  Revision  Changes    Path
  1.2       +2 -2      jakarta-ant/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/ServerElement.java
  
  Index: ServerElement.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/ServerElement.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ServerElement.java	27 Jan 2002 02:11:59 -0000	1.1
  +++ ServerElement.java	27 Jan 2002 11:39:52 -0000	1.2
  @@ -88,10 +88,10 @@
       private boolean haltOnError = false;
   
       /** the parent task */
  -    private JUnitTask parent;
  +    private RJUnitTask parent;
   
       /** create a new server */
  -    public ServerElement(JUnitTask value) {
  +    public ServerElement(RJUnitTask value) {
           parent = value;
       }
   
  
  
  
  1.2       +2 -2      jakarta-ant/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/ClientElement.java
  
  Index: ClientElement.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/ClientElement.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ClientElement.java	27 Jan 2002 02:11:59 -0000	1.1
  +++ ClientElement.java	27 Jan 2002 11:39:52 -0000	1.2
  @@ -105,10 +105,10 @@
       private CommandlineJava cmd = new CommandlineJava();
   
       /** the parent task */
  -    private JUnitTask parent;
  +    private RJUnitTask parent;
   
       /** create a new client */
  -    public ClientElement(JUnitTask value) {
  +    public ClientElement(RJUnitTask value) {
           parent = value;
           cmd.setClassname("org.apache.tools.ant.taskdefs.optional.junit.remote.TestRunner");
       }
  
  
  
  1.7       +1 -1      jakarta-ant/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/FormatterElement.java
  
  Index: FormatterElement.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/FormatterElement.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- FormatterElement.java	27 Jan 2002 02:11:59 -0000	1.6
  +++ FormatterElement.java	27 Jan 2002 11:39:52 -0000	1.7
  @@ -77,7 +77,7 @@
    *
    * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
    *
  - * @see JUnitTask
  + * @see RJUnitTask
    * @see Formatter
    */
   public class FormatterElement {
  
  
  
  1.1                  jakarta-ant/proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/RJUnitTask.java
  
  Index: RJUnitTask.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Ant", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  package org.apache.tools.ant.taskdefs.optional.junit;
  
  import org.apache.avalon.excalibur.i18n.ResourceManager;
  import org.apache.avalon.excalibur.i18n.Resources;
  import org.apache.tools.ant.BuildException;
  import org.apache.tools.ant.Task;
  
  /**
   * The core JUnit task.
   *
   * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
   */
  public class RJUnitTask extends Task {
  
      private final static Resources RES =
              ResourceManager.getPackageResources(RJUnitTask.class);
  
      /** port to run the server on */
      private int port = -1;
  
      /** timeout period in ms */
      private long timeout = -1;
  
      /** client configuraiton element */
      private ClientElement client = null;
  
      /** server configuration element */
      private ServerElement server = null;
  
  // task implementation
  
      public void execute() throws BuildException {
          if (client == null && server == null) {
              throw new BuildException("Invalid state: need to be server, client or both");
          }
  
          // 1) server and client
          if (server != null && client != null) {
              ServerWorker worker = new ServerWorker();
              worker.start();
              client.execute();
              Exception caught = null;
              try {
                  worker.join();
                  caught = worker.getException();
              } catch (InterruptedException e){
                  caught = e;
              }
              if (caught != null){
                  throw new BuildException(caught);
              }
              return;
          }
  
          // 2) server only (waiting for client)
          if (server != null && client == null) {
              server.execute();
              return;
          }
  
          // 3) client only (connecting to server)
          if (server == null && client != null) {
              client.execute();
              return;
          }
      }
  
  // Ant bean accessors
  
      public void setPort(int port) {
          this.port = port;
      }
  
      public void setTimeout(long timeout) {
          this.timeout = timeout;
      }
  
      /**
       * create a new client in charge of running tests and sending
       * the results to the server that collect them.
       */
      public ClientElement createClient() {
          if (client == null) {
              client = new ClientElement(this);
          }
          return client;
      }
  
      /**
       * create a new client in charge of running tests and sending
       * the results to the server that collect them.
       */
      public ServerElement createServer() {
          if (server == null) {
              server = new ServerElement(this);
          }
          return server;
      }
  
  
      /** the worker to run the server on */
      class ServerWorker extends Thread {
          private Exception caught = null;
  
          public void run() {
              try {
                  server.execute();
              } catch (Exception e) {
                  caught = e;
              }
          }
  
          public Exception getException() {
              return caught;
          }
      }
  }
  
  
  

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message