public abstract class TestFinder
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
TestFinder.ErrorHandler
This interface is used to report significant errors found while
reading files, but which are not of themselves serious enough
to stop reading further.
|
static class |
TestFinder.Fault
This exception is to report serious problems that occur while
finding tests.
|
Modifier and Type | Field and Description |
---|---|
protected static boolean |
debug
A boolean to enable trace output while debugging test finders.
|
protected TestEnvironment |
env
Deprecated.
This feature was available in earlier versions of
JT Harness but does not interact well with JT Harness 3.0's GUI features.
Use with discretion, if at all.
|
Constructor and Description |
---|
TestFinder() |
Modifier and Type | Method and Description |
---|---|
void |
clearErrors()
Clear outstanding errors found by the test finder, so that until
a new error is reported, getErrorCount will return 0 and getErrors
will return an empty array.
|
protected void |
decodeAllArgs(java.lang.String[] args)
Perform argument decoding, calling decodeArg for successive
args until exhausted.
|
protected int |
decodeArg(java.lang.String[] args,
int i)
Decode the arg at a specified position in the arg array.
|
protected void |
error(I18NResourceBundle i18n,
java.lang.String key)
Report an error to the error handler.
|
protected void |
error(I18NResourceBundle i18n,
java.lang.String key,
java.lang.Object arg)
Report an error to the error handler.
|
protected void |
error(I18NResourceBundle i18n,
java.lang.String key,
java.lang.Object[] args)
Report an error to the error handler.
|
protected void |
foundFile(java.io.File newFile)
Report that another file that needs to be read has been found.
|
protected void |
foundTestDescription(java.util.Map entries,
java.io.File file,
int line)
Report that data for a test description has been found.
|
protected void |
foundTestDescription(TestDescription td)
Report that a test description has been found.
|
java.util.Comparator |
getComparator()
Get the current comparator being used.
|
protected java.util.Comparator |
getDefaultComparator()
Get the default to be used when the user does not want to specify
their own.
|
int |
getErrorCount()
Get an count of the number of errors found by this test finder,
as recorded by calls to the error handler via error and localizedError.
|
TestFinder.ErrorHandler |
getErrorHandler()
Get the registered error handler.
|
java.lang.String[] |
getErrors()
Get the errors recorded by the test finder, as recorded by calls
to the error handler via error and localizedError.
|
java.io.File[] |
getFiles()
Get the files that were found by the most recent call
of read.
|
java.io.File |
getRoot()
Get the root file of the test suite, as passed in to the
init method. |
java.io.File |
getRootDir()
Get the root directory of the test suite; this is either the
root passed in to the init method or if that is a file, it is
the directory containing the file.
|
TestDescription[] |
getTests()
Get the test descriptions that were found by the most recent call
of read.
|
void |
init(java.lang.String[] args,
java.io.File testSuiteRoot,
java.io.File[] tests,
TestFilter[] filters,
TestEnvironment env)
Deprecated.
Use one of the other init() methods. This functionality is no
longer supported. Methods on TestResultTable should yield similar
results.
|
void |
init(java.lang.String[] args,
java.io.File testSuiteRoot,
TestEnvironment env)
Initialize the data required by the finder.
|
boolean |
isFolder(java.io.File path)
Determine whether a location corresponds to a directory (folder) or
an actual file.
|
long |
lastModified(java.io.File f)
Determine when the last time this path was modified.
|
protected void |
localizedError(java.lang.String msg)
Report a message to the error handler, without additional processing.
|
protected java.util.Map |
normalize(java.util.Map entries)
"normalize" the test description entries read from a file.
|
protected void |
processEntry(java.util.Map entries,
java.lang.String name,
java.lang.String value)
Handle a test description entry read from a file.
|
void |
read(java.io.File file)
Read a file, looking for test descriptions and other files that might
need to be read.
|
protected abstract void |
scan(java.io.File file)
Scan a file, looking for test descriptions and other files that might
need to be scanned.
|
void |
setComparator(java.util.Comparator c)
Incoming files and test descriptions are sorted by their name during
processing, this method allows adjustment of the comparison method to
be used during this sorting.
|
void |
setErrorHandler(TestFinder.ErrorHandler h)
Set an error handler to be informed of errors that may arise
while reading tests.
|
protected void |
setRoot(java.io.File testSuiteRoot)
Set the test suite root file or directory.
|
protected TestEnvironment env
protected static boolean debug
public void init(java.lang.String[] args, java.io.File testSuiteRoot, TestEnvironment env) throws TestFinder.Fault
args
- An array of strings specified as arguments in the environment. Null
indicates no args.testSuiteRoot
- The root file that will be passed to test descriptions read
by the finder.env
- The environment being used to run the test. May be null.TestFinder.Fault
- if there is a problem interpreting any of args.public void init(java.lang.String[] args, java.io.File testSuiteRoot, java.io.File[] tests, TestFilter[] filters, TestEnvironment env) throws TestFinder.Fault
args
- An array of strings specified as arguments in the environment. Null
indicates no args.testSuiteRoot
- The root file that will be passed to test descriptions read
by the finder.tests
- The tests to be read by the finder. (ignored)filters
- An optional array of filters to filter the tests read by the finder.env
- The environment being used to run the test. May be null.TestFinder.Fault
- if there is a problem interpreting any of args.init(String[],File,TestEnvironment)
protected void decodeAllArgs(java.lang.String[] args) throws TestFinder.Fault
args
- The arguments to be decodedTestFinder.Fault
- if decodeArg throws the exception
while decoding one of the arguments, or if decodeArg does
not recognize an argument.protected int decodeArg(java.lang.String[] args, int i) throws TestFinder.Fault
args
- The array of argumentsi
- The next argument to be decodedTestFinder.Fault
- If there is a problem with the value of the current
arg, such as a bad value to an option, the Fault
exception can be thrown. The exception should NOT be
thrown if the current arg is unrecognized: in that case,
an implementation should delegate the call to the
supertype.protected void setRoot(java.io.File testSuiteRoot) throws java.lang.IllegalStateException, TestFinder.Fault
testSuiteRoot
- The path to be set as the root of the
test suite in which files will be read.java.lang.IllegalStateException
- if already setTestFinder.Fault
- if there is some test-finder-specific
problem with the specified file.getRoot()
public java.io.File getRoot()
init
method.setRoot(java.io.File)
public java.io.File getRootDir()
public void setComparator(java.util.Comparator c)
null
parameter. By default, this class will
do US Locale sorting.c
- The comparison operator to be used. Null indicates no sorting (old behavior).getComparator()
,
foundTestDescription(TestDescription)
,
foundFile(File)
public java.util.Comparator getComparator()
setComparator(java.util.Comparator)
protected java.util.Comparator getDefaultComparator()
public TestFinder.ErrorHandler getErrorHandler()
setErrorHandler(com.sun.javatest.TestFinder.ErrorHandler)
public void setErrorHandler(TestFinder.ErrorHandler h)
h
- The error handler that will be informed of non-fatal
errors that occur while reading the test suitegetErrorHandler()
protected void error(I18NResourceBundle i18n, java.lang.String key)
i18n
- A resource bundle containing the localized error messageskey
- The name of the entry in the resource bundle containing
the appropriate error message.
The message should not need any arguments.protected void error(I18NResourceBundle i18n, java.lang.String key, java.lang.Object arg)
i18n
- A resource bundle containing the localized error messageskey
- The name of the entry in the resource bundle containing
the appropriate error message.
The message will be formatted with a single argument, using
MessageFormat.format.arg
- The argument to be formatted in the message found in the
resource bundleprotected void error(I18NResourceBundle i18n, java.lang.String key, java.lang.Object[] args)
i18n
- A resource bundle containing the localized error messageskey
- The name of the entry in the resource bundle containing
the appropriate error message.
The message will be formatted with an array of arguments, using
MessageFormat.format.args
- The arguments to be formatted in the message found in the
resource bundleprotected void localizedError(java.lang.String msg)
msg
- The message to be reportederror(com.sun.javatest.util.I18NResourceBundle, java.lang.String)
public int getErrorCount()
getErrors()
,
clearErrors()
public java.lang.String[] getErrors()
public void clearErrors()
public boolean isFolder(java.io.File path)
path
- The location in question.public long lastModified(java.io.File f)
f
- The location in question.public void read(java.io.File file)
file
- The file to be read.protected abstract void scan(java.io.File file)
file
- The file to scanprotected void processEntry(java.util.Map entries, java.lang.String name, java.lang.String value)
entries
- The dictionary of the entries being readname
- The name of the entry that has been readvalue
- The value of the entry that has been readprotected java.util.Map normalize(java.util.Map entries)
entries
- A set of tag values read from a test description in a fileprotected void foundTestDescription(java.util.Map entries, java.io.File file, int line)
entries
- The data for the test descriptionfile
- The file being readline
- The line number within the file (used for error messages)protected void foundTestDescription(TestDescription td)
td
- The data for the test description. May never be null.foundTestDescription(java.util.Map, java.io.File, int)
public TestDescription[] getTests()
read(java.io.File)
,
foundTestDescription(java.util.Map, java.io.File, int)
protected void foundFile(java.io.File newFile)
newFile
- the file that has been found that needs to be read.read(java.io.File)
,
getFiles()
public java.io.File[] getFiles()
read(java.io.File)
,
foundFile(java.io.File)
Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.