You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bo...@locus.apache.org on 2000/09/14 10:49:41 UTC

cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/junit BaseTest.java BatchTest.java JUnitTask.java JUnitTest.java

bodewig     00/09/14 01:49:41

  Modified:    .        build.xml
               src/main/org/apache/tools/ant/taskdefs/optional/junit
                        BatchTest.java JUnitTask.java JUnitTest.java
  Added:       src/main/org/apache/tools/ant/taskdefs/optional/junit
                        BaseTest.java
  Log:
  <junit> now works again as it did before tasks started to be
  configured at runtime.
  
  Revision  Changes    Path
  1.72      +1 -1      jakarta-ant/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/build.xml,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -u -r1.71 -r1.72
  --- build.xml	2000/09/14 08:13:04	1.71
  +++ build.xml	2000/09/14 08:49:37	1.72
  @@ -317,7 +317,7 @@
   
         <formatter type="plain" usefile="false" />
   
  -      <batchtest fork="yes">
  +      <batchtest>
           <fileset dir="${src.tests.dir}">
             <include name="**/*Test*" />
             <exclude name="**/All*" />
  
  
  
  1.3       +5 -31     jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/BatchTest.java
  
  Index: BatchTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/BatchTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BatchTest.java	2000/09/07 09:50:58	1.2
  +++ BatchTest.java	2000/09/14 08:49:39	1.3
  @@ -68,16 +68,10 @@
    * @author <a href="mailto:jeff.martin@synamic.co.uk">Jeff Martin</a>
    * @author <a href="mailto:stefan.bodewig@megabit.net">Stefan Bodewig</a> 
    */
  -public final class BatchTest {
  -    private boolean fork=false;
  -    private boolean haltOnError=false;
  -    private boolean haltOnFailure=false;
  +public final class BatchTest extends BaseTest {
       private Project project;
  -    private String ifCond = null;
  -    private String unlessCond = null;
   
       private Vector filesets = new Vector();
  -    private Vector formatters = new Vector();
   
       public BatchTest(Project project){
           this.project = project;
  @@ -87,30 +81,10 @@
           filesets.addElement(fs);
       }
   
  -    public void addFormatter(FormatterElement elem) {
  -        formatters.addElement(elem);
  -    }
  -
  -    public void setIf(String propertyName) {
  -        ifCond = propertyName;
  -    }
  -
  -    public void setUnless(String propertyName) {
  -        unlessCond = propertyName;
  -    }
  -
  -    public final void setFork(boolean value) {
  -        this.fork = value;
  -    }
  -    public final void setHaltonerror(boolean value) {
  -        this.haltOnError = value;
  -    }
  -    public final void setHaltonfailure(boolean value) {
  -        this.haltOnFailure = value;
  -    }
       public final Enumeration elements(){
           return new FileList();
       }
  +
       public class FileList implements Enumeration{
           private String files[]=null;
           private int i=0;
  @@ -142,10 +116,10 @@
               if(hasMoreElements()){
                   JUnitTest test = new JUnitTest(javaToClass(files[i]));
                   test.setHaltonerror(haltOnError);
  -                test.setHaltonfailure(haltOnFailure);
  +                test.setHaltonfailure(haltOnFail);
                   test.setFork(fork);
  -                test.setIf(ifCond);
  -                test.setUnless(unlessCond);
  +                test.setIf(ifProperty);
  +                test.setUnless(unlessProperty);
                   Enumeration list = formatters.elements();
                   while (list.hasMoreElements()) {
                       test.addFormatter((FormatterElement)list.nextElement());
  
  
  
  1.9       +39 -15    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
  
  Index: JUnitTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- JUnitTask.java	2000/09/14 08:13:06	1.8
  +++ JUnitTask.java	2000/09/14 08:49:39	1.9
  @@ -92,16 +92,23 @@
       private Vector batchTests = new Vector();
       private Vector formatters = new Vector();
   
  -    private JUnitTest defaults = new JUnitTest();
       private Integer timeout = null;
       private boolean summary = false;
   
       public void setHaltonerror(boolean value) {
  -        defaults.setHaltonerror(value);
  +        Enumeration enum = allTests();
  +        while (enum.hasMoreElements()) {
  +            BaseTest test = (BaseTest) enum.nextElement();
  +            test.setHaltonerror(value);
  +        }
       }
   
       public void setHaltonfailure(boolean value) {
  -        defaults.setHaltonfailure(value);
  +        Enumeration enum = allTests();
  +        while (enum.hasMoreElements()) {
  +            BaseTest test = (BaseTest) enum.nextElement();
  +            test.setHaltonfailure(value);
  +        }
       }
   
       public void setPrintsummary(boolean value) {
  @@ -114,7 +121,6 @@
           } else {
               createJvmarg().setValue("-Xmx"+max);
           }
  -        
       }
   
       public void setTimeout(Integer value) {
  @@ -122,7 +128,11 @@
       }
   
       public void setFork(boolean value) {
  -        defaults.setFork(value);
  +        Enumeration enum = allTests();
  +        while (enum.hasMoreElements()) {
  +            BaseTest test = (BaseTest) enum.nextElement();
  +            test.setFork(value);
  +        }
       }
   
       public void setJvm(String value) {
  @@ -138,17 +148,11 @@
       }
   
       public void addTest(JUnitTest test) {
  -        test.setHaltonerror(defaults.getHaltonerror());
  -        test.setHaltonfailure(defaults.getHaltonfailure());
  -        test.setFork(defaults.getFork());
           tests.addElement(test);
       }
   
       public BatchTest createBatchTest() {
           BatchTest test = new BatchTest(project);
  -        test.setHaltonerror(defaults.getHaltonerror());
  -        test.setHaltonfailure(defaults.getHaltonfailure());
  -        test.setFork(defaults.getFork());
           batchTests.addElement(test);
           return test;
       }
  @@ -171,16 +175,18 @@
           boolean errorOccurred = false;
           boolean failureOccurred = false;
   
  +        Vector runTests = (Vector) tests.clone();
  +
           Enumeration list = batchTests.elements();
           while (list.hasMoreElements()) {
               BatchTest test = (BatchTest)list.nextElement();
               Enumeration list2 = test.elements();
               while (list2.hasMoreElements()) {
  -                tests.addElement(list2.nextElement());
  +                runTests.addElement(list2.nextElement());
               }
           }
   
  -        list = tests.elements();
  +        list = runTests.elements();
           while (list.hasMoreElements()) {
               JUnitTest test = (JUnitTest)list.nextElement();
   
  @@ -194,8 +200,6 @@
   
               int exitValue = JUnitTestRunner.ERRORS;
               
  -            System.err.println(test.getFork());
  -
               if (!test.getFork()) {
                   JUnitTestRunner runner = 
                       new JUnitTestRunner(test, test.getHaltonerror(),
  @@ -311,5 +315,25 @@
   
           if (dest.exists()) dest.delete();
           src.renameTo(dest);
  +    }
  +
  +    protected Enumeration allTests() {
  +
  +        return new Enumeration() {
  +                private Enumeration testEnum = tests.elements();
  +                private Enumeration batchEnum = batchTests.elements();
  +                
  +                public boolean hasMoreElements() {
  +                    return testEnum.hasMoreElements() ||
  +                        batchEnum.hasMoreElements();
  +                }
  +                
  +                public Object nextElement() {
  +                    if (testEnum.hasMoreElements()) {
  +                        return testEnum.nextElement();
  +                    }
  +                    return batchEnum.nextElement();
  +                }
  +            };
       }
   }
  
  
  
  1.3       +1 -45     jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTest.java
  
  Index: JUnitTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JUnitTest.java	2000/08/09 13:12:13	1.2
  +++ JUnitTest.java	2000/09/14 08:49:39	1.3
  @@ -65,18 +65,13 @@
    * @author Thomas Haas
    * @author <a href="mailto:stefan.bodewig@megabit.net">Stefan Bodewig</a> 
    */
  -public class JUnitTest {
  -    private boolean haltOnError = false;
  -    private boolean haltOnFail = false;
  +public class JUnitTest extends BaseTest {
       private String name = null;
       private File outfile = null;
  -    private boolean fork = false;
   
       private long runs, failures, errors;
       private long runTime;
   
  -    private Vector formatters = new Vector();
  -
       public JUnitTest() {
       }
   
  @@ -90,22 +85,6 @@
           this.haltOnFail = haltOnFail;
       }
   
  -    public void setFork(boolean value) {
  -        fork = value;
  -    }
  -
  -    public boolean getFork() {
  -        return fork;
  -    }
  -
  -    public void setHaltonerror(boolean value) {
  -        haltOnError = value;
  -    }
  -
  -    public void setHaltonfailure(boolean value) {
  -        haltOnFail = value;
  -    }
  -
       public void setName(String value) {
           name = value;
       }
  @@ -114,14 +93,6 @@
           outfile = value;
       }
   
  -    public boolean getHaltonerror() {
  -        return haltOnError;
  -    }
  -
  -    public boolean getHaltonfailure() {
  -        return haltOnFail;
  -    }
  -
       public String getName() {
           return name;
       }
  @@ -148,17 +119,6 @@
       public long errorCount() {return errors;}
       public long getRunTime() {return runTime;}
   
  -    private String ifProperty = null;
  -    private String unlessProperty = null;
  -
  -    public void setIf(String propertyName) {
  -        ifProperty = propertyName;
  -    }
  -
  -    public void setUnless(String propertyName) {
  -        unlessProperty = propertyName;
  -    }
  -
       public boolean shouldRun(Project p) {
           if (ifProperty != null && p.getProperty(ifProperty) == null) {
               return false;
  @@ -167,10 +127,6 @@
               return false;
           }
           return true;
  -    }
  -
  -    public void addFormatter(FormatterElement elem) {
  -        formatters.addElement(elem);
       }
   
       public FormatterElement[] getFormatters() {
  
  
  
  1.1                  jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/BaseTest.java
  
  Index: BaseTest.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000 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", "Tomcat", 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 java.util.Vector;
  
  /**
   * Baseclass for BatchTest and JUnitTest.
   *
   * @author <a href="mailto:stefan.bodewig@megabit.net">Stefan Bodewig</a> 
   */
  public abstract class BaseTest {
      protected boolean haltOnError = false;
      protected boolean haltOnFail = false;
      protected boolean fork = false;
      protected String ifProperty = null;
      protected String unlessProperty = null;
      protected Vector formatters = new Vector();
  
      public void setFork(boolean value) {
          fork = value;
      }
  
      public boolean getFork() {
          return fork;
      }
  
      public void setHaltonerror(boolean value) {
          haltOnError = value;
      }
  
      public void setHaltonfailure(boolean value) {
          haltOnFail = value;
      }
  
      public boolean getHaltonerror() {
          return haltOnError;
      }
  
      public boolean getHaltonfailure() {
          return haltOnFail;
      }
  
      public void setIf(String propertyName) {
          ifProperty = propertyName;
      }
  
      public void setUnless(String propertyName) {
          unlessProperty = propertyName;
      }
  
      public void addFormatter(FormatterElement elem) {
          formatters.addElement(elem);
      }
  }