blob: 245f168209e661a0bee4de2877704909b4bbd607 [file] [log] [blame]
/*
* 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
*
* https://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.tools.ant.taskdefs.optional.junit;
import java.io.File;
import java.util.Vector;
/**
* Baseclass for BatchTest and JUnitTest.
*
*/
public abstract class BaseTest {
// CheckStyle:VisibilityModifier OFF - bc
protected boolean haltOnError = false;
protected boolean haltOnFail = false;
protected boolean filtertrace = true;
protected boolean fork = false;
protected String ifProperty = null;
protected String unlessProperty = null;
protected Vector<FormatterElement> formatters = new Vector<>();
/** destination directory */
protected File destDir = null;
protected String failureProperty;
protected String errorProperty;
// CheckStyle:VisibilityModifier ON
private Object ifCond;
private Object unlessCond;
private boolean skipNonTests;
/**
* Set the filtertrace attribute.
* @param value a <code>boolean</code> value.
*/
public void setFiltertrace(boolean value) {
filtertrace = value;
}
/**
* Get the filtertrace attribute.
* @return the attribute.
*/
public boolean getFiltertrace() {
return filtertrace;
}
/**
* Set the fork attribute.
* @param value a <code>boolean</code> value.
*/
public void setFork(boolean value) {
fork = value;
}
/**
* Get the fork attribute.
* @return the attribute.
*/
public boolean getFork() {
return fork;
}
/**
* Set the haltonerror attribute.
* @param value a <code>boolean</code> value.
*/
public void setHaltonerror(boolean value) {
haltOnError = value;
}
/**
* Set the haltonfailure attribute.
* @param value a <code>boolean</code> value.
*/
public void setHaltonfailure(boolean value) {
haltOnFail = value;
}
/**
* Get the haltonerror attribute.
* @return the attribute.
*/
public boolean getHaltonerror() {
return haltOnError;
}
/**
* Get the haltonfailure attribute.
* @return the attribute.
*/
public boolean getHaltonfailure() {
return haltOnFail;
}
/**
* Set the if attribute.
* If this expression evaluates to true or the name of a property
* which is present in project, the test will be run.
* @param ifCondition the expression to evaluate
* @since Ant 1.8.0
*/
public void setIf(Object ifCondition) {
ifCond = ifCondition;
ifProperty = ifCondition != null ? String.valueOf(ifCondition) : null;
}
/**
* Set the if attribute.
* If this expression evaluates to true or the name of a property
* which is present in project, the test will be run.
* @param propertyName the expression to evaluate
*/
public void setIf(String propertyName) {
setIf((Object) propertyName);
}
/**
* The if expression
* @return Object
* @since Ant 1.8.0
*/
public Object getIfCondition() {
return ifCond;
}
/**
* Set the unless attribute. If this expression evaluates to
* false or the name of a property which is not present in
* project, the test will be run.
* @param unlessCondition the expression to evaluate
* @since Ant 1.8.0
*/
public void setUnless(Object unlessCondition) {
unlessCond = unlessCondition;
unlessProperty = unlessCondition != null
? String.valueOf(unlessCondition) : null;
}
/**
* Set the unless attribute. If this expression evaluates to
* false or the name of a property which is not present in
* project, the test will be run.
* @param propertyName the expression to evaluate
*/
public void setUnless(String propertyName) {
setUnless((Object) propertyName);
}
/**
* The unless expression
* @return Object
* @since Ant 1.8.0
*/
public Object getUnlessCondition() {
return unlessCond;
}
/**
* Allow a formatter nested element.
* @param elem a formatter nested element.
*/
public void addFormatter(FormatterElement elem) {
formatters.addElement(elem);
}
/**
* Sets the destination directory.
* @param destDir the destination directory.
*/
public void setTodir(File destDir) {
this.destDir = destDir;
}
/**
* Get the destination directory.
* @return the destination directory as an absolute path if it exists
* otherwise return <code>null</code>
*/
public String getTodir() {
if (destDir != null) {
return destDir.getAbsolutePath();
}
return null;
}
/**
* Get the failure property name.
* @return the name of the property to set on failure.
*/
public String getFailureProperty() {
return failureProperty;
}
/**
* Set the name of the failure property.
* @param failureProperty the name of the property to set if
* the test fails.
*/
public void setFailureProperty(String failureProperty) {
this.failureProperty = failureProperty;
}
/**
* Get the failure property name.
* @return the name of the property to set on failure.
*/
public String getErrorProperty() {
return errorProperty;
}
/**
* Set the name of the error property.
* @param errorProperty the name of the property to set if
* the test has an error.
*/
public void setErrorProperty(String errorProperty) {
this.errorProperty = errorProperty;
}
public void setSkipNonTests(boolean skipNonTests) {
this.skipNonTests = skipNonTests;
}
public boolean isSkipNonTests() {
return skipNonTests;
}
}