public abstract class CheckerFrameworkPerFileTest
extends java.lang.Object
CheckerFrameworkPerDirectoryTest to compile all
 files in a test directory together.
 To use this class you must do two things:
@Parameters public static String [] getTestDirs()
             getTestDir must return an array of directories that exist in the test folder, e.g.
  @Parameters
   public static String [] getTestDirs() {
      return new String[]{"all-systems", "flow"};
   }
             The directories can contain more path information (e.g., "myTestDir/moreTests") but
             note, the test suite will find all of the Java test files that exists below the
             listed directories. It is unnecessary to list child directories of a directory you
             have already listed.
         @Parameters public static List<File> getTestFiles() 
             The method returns a List of Java files. There are methods like TestUtilities.findNestedJavaTestFiles(java.lang.String...) to help you construct this List. The
             PerDirectorySuite will then instantiate the subclass once for each file returned by
             getTestFiles and execute the run method. An example of this method is:
             
  @Parameters
   public static List<File> getTestFiles() {
     return TestUtilities.findNestedJavaTestFiles("aggregate");
   }
       | Modifier and Type | Field and Description | 
|---|---|
protected java.lang.String | 
checkerName
The fully-qualified class name of the checker to use for tests. 
 | 
protected java.util.List<java.lang.String> | 
checkerOptions
Extra options to pass to javac when running the checker. 
 | 
protected java.lang.String | 
testDir
The path, relative to currentDir/test to the directory containing test inputs. 
 | 
protected java.io.File | 
testFile  | 
| Constructor and Description | 
|---|
CheckerFrameworkPerFileTest(java.io.File testFile,
                           java.lang.Class<? extends javax.annotation.processing.AbstractProcessor> checker,
                           java.lang.String testDir,
                           java.lang.String... checkerOptions)
Creates a new checker test. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
java.util.List<java.lang.String> | 
customizeOptions(java.util.List<java.lang.String> previousOptions)
Override this method if you would like to supply a checker command-line option that depends
 on the Java file passed to the test. 
 | 
void | 
run()  | 
protected final java.io.File testFile
protected final java.lang.String checkerName
protected final java.lang.String testDir
protected final java.util.List<java.lang.String> checkerOptions
public CheckerFrameworkPerFileTest(java.io.File testFile,
                                   java.lang.Class<? extends javax.annotation.processing.AbstractProcessor> checker,
                                   java.lang.String testDir,
                                   java.lang.String... checkerOptions)
TestConfigurationBuilder.getDefaultConfigurationBuilder(String, File, String,
 Iterable, Iterable, List, boolean) adds additional checker options such as
 -AprintErrorStack.
checker - the class for the checker to usetestDir - the path to the directory of test inputscheckerOptions - options to pass to the compiler when running testspublic void run()
public java.util.List<java.lang.String> customizeOptions(java.util.List<java.lang.String> previousOptions)
testFile.
 If you want to specify the same command-line option for all tests of a particular checker,
 then pass it to the CheckerFrameworkPerFileTest constructor.
previousOptions - the options specified in the constructor of the test previousOptions
     is unmodifiable