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 parseResult(java.lang.String, hudson.model.Run<?, ?>, hudson.FilePath, hudson.Launcher, hudson.model.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.
|
TestResult |
parse(String testResultLocations,
hudson.model.AbstractBuild build,
hudson.Launcher launcher,
hudson.model.TaskListener listener)
Deprecated.
|
TestResult |
parseResult(String testResultLocations,
hudson.model.Run<?,?> run,
hudson.FilePath workspace,
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
s.TestResultParser
s.public TestResult parseResult(String testResultLocations, hudson.model.Run<?,?> run, @Nonnull hudson.FilePath workspace, 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.run
- Build for which these tests are parsed. Never null.workspace
- the workspace in which tests can be foundlauncher
- 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.TestResult
object representing the provided files and builds.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.@Deprecated public TestResult parse(String testResultLocations, hudson.model.AbstractBuild build, hudson.Launcher launcher, hudson.model.TaskListener listener) throws InterruptedException, IOException
InterruptedException
IOException
Copyright © 2016. All rights reserved.