public abstract class TestResultParser extends Object implements hudson.ExtensionPoint
TestResult
.
This extension point encapsulates the knowledge of a particular test report format and its parsing process,
thereby improving the pluggability of test result parsing; integration with a new test tool can be done
by just writing a parser, without writing a custom Publisher
, and the test reports are displayed
with the default UI and recognized by the rest of Hudson as test reports.
Most typical implementations of this class should extend from DefaultTestResultParserImpl
,
which handles a set of default error checks on user inputs.
Parsers are stateless, and the parse(String, AbstractBuild, Launcher, TaskListener)
method
can be concurrently invoked by multiple threads for different builds.
DefaultTestResultParserImpl
Constructor and Description |
---|
TestResultParser() |
Modifier and Type | Method and Description |
---|---|
static hudson.ExtensionList<TestResultParser> |
all()
All registered
TestResultParser s |
String |
getDisplayName()
Returns a human readable name of the parser, like "JUnit Parser".
|
String |
getTestResultLocationMessage()
This text is used in the UI prompt for the GLOB that specifies files to be parsed by this parser.
|
abstract TestResult |
parse(String testResultLocations,
hudson.model.AbstractBuild build,
hudson.Launcher launcher,
hudson.model.TaskListener listener)
Parses the specified set of files and builds a
TestResult object that represents them. |
public String getDisplayName()
public String getTestResultLocationMessage()
public static hudson.ExtensionList<TestResultParser> all()
TestResultParser
spublic abstract TestResult parse(String testResultLocations, hudson.model.AbstractBuild build, hudson.Launcher launcher, hudson.model.TaskListener listener) throws InterruptedException, IOException
TestResult
object that represents them.
The implementation is encouraged to do the following:
testResultLocations
- GLOB pattern relative to the workspace that
specifies the locations of the test result files. Never null.build
- Build for which these tests are parsed. Never null.launcher
- Can be used to fork processes on the machine where the build is running. Never null.listener
- Use this to report progress and other problems. Never null.InterruptedException
- If the user cancels the build, it will be received as a thread interruption. Do not catch
it, and instead just forward that through the call stack.IOException
- If you don't care about handling exceptions gracefully, you can just throw IOException
and let the default exception handling in Hudson takes care of it.hudson.AbortException
- If you encounter an error that you handled gracefully, throw this exception and Hudson
will not show a stack trace.Copyright © 2016. All rights reserved.