org.hackystat.sensor.ant.junit
Class JUnitSensor

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.hackystat.sensor.ant.task.HackystatSensorTask
              extended by org.hackystat.sensor.ant.junit.JUnitSensor
All Implemented Interfaces:
java.lang.Cloneable

public class JUnitSensor
extends HackystatSensorTask

Implements an Ant task that parses the XML files generated by JUnit and sends the test case results to the Hackystat server. You can specify the location of the source files either through the 'sourcePath' attribute or the 'srcPath' nested element. I agree, this isn't optimal, but I'm going for backward compatibility at the moment. Eventually, we probably want to get rid of the sourcePath attribute option.

Author:
Philip Johnson, Hongbing Kou, Joy Agustin, Julie Ann Sakuda, Aaron A. Kagawa

Field Summary
 
Fields inherited from class org.hackystat.sensor.ant.task.HackystatSensorTask
dataFilesList, errMsgPrefix, failOnError, msgPrefix, runtime, sensorProps, sensorShell, sourceFilesList, toolAccount, tstampSet, verbose
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
JUnitSensor()
          Initialize a new instance of a JUnitSensor.
JUnitSensor(java.lang.String host, java.lang.String email, java.lang.String password)
          Initialize a new instance of a JUnitSensor, passing the host email, and password directly.
 
Method Summary
 void executeInternal()
          Parses the JUnit XML files and sends the resulting JUnit test case results to the hackystat server.
 int processJUnitXmlFile(java.io.File xmlFile)
          Parses a JUnit XML file and sends the JUnitEntry instances to the shell.
 
Methods inherited from class org.hackystat.sensor.ant.task.HackystatSensorTask
createDataFiles, createSourceFiles, execute, getDataFiles, getFiles, getSourceFiles, info, isUsingUserMap, sendAndQuit, setFailOnError, setRetryAttempts, setRetryWaitInterval, setupSensorShell, setUserMapTool, setUserMapToolAccount, setVerbose, signalError, summaryInfo, verboseInfo
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JUnitSensor

public JUnitSensor()
Initialize a new instance of a JUnitSensor.


JUnitSensor

public JUnitSensor(java.lang.String host,
                   java.lang.String email,
                   java.lang.String password)
Initialize a new instance of a JUnitSensor, passing the host email, and password directly. This supports testing. Note that when this constructor is called, offline data recovery by the sensor is disabled.

Parameters:
host - The hackystat host URL.
email - The Hackystat email to use.
password - The Hackystat password to use.
Method Detail

executeInternal

public void executeInternal()
                     throws org.apache.tools.ant.BuildException
Parses the JUnit XML files and sends the resulting JUnit test case results to the hackystat server. This method is invoked automatically by Ant.

Specified by:
executeInternal in class HackystatSensorTask
Throws:
org.apache.tools.ant.BuildException - If there is an error.

processJUnitXmlFile

public int processJUnitXmlFile(java.io.File xmlFile)
                        throws org.apache.tools.ant.BuildException
Parses a JUnit XML file and sends the JUnitEntry instances to the shell.

Parameters:
xmlFile - The XML file name to be processed.
Returns:
The number of test cases in this XML file.
Throws:
org.apache.tools.ant.BuildException - if any error.