Class CheckerFrameworkPerFileTest
CheckerFrameworkPerDirectoryTest to compile all
 files in a test directory together.
 To use this class you must do two things:
- Create exactly 1 constructor in the subclass with exactly 1 argument of type java.io.File. This File will be the Java file that is compiled and whose output is verified.
- Create one of the following 2 public static methods with the annotation
       org.junit.runners.Parameterized.Parameters. The method name and signature must match
       exactly.
       - @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"); }
 
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final Class<?>The checker to use for tests.Extra options to pass to javac when running the checker.protected final StringThe path, relative to currentDir/test to the directory containing test inputs.protected final FileThe file containing test code, which will be type-checked.
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedCheckerFrameworkPerFileTest(File testFile, Class<? extends AbstractProcessor> checker, String testDir, String... checkerOptions) Creates a new checker test.
- 
Method Summary
- 
Field Details- 
testFileThe file containing test code, which will be type-checked.
- 
checkerThe checker to use for tests.
- 
testDirThe path, relative to currentDir/test to the directory containing test inputs.
- 
checkerOptionsExtra options to pass to javac when running the checker.
 
- 
- 
Constructor Details- 
CheckerFrameworkPerFileTestprotected CheckerFrameworkPerFileTest(File testFile, Class<? extends AbstractProcessor> checker, String testDir, String... checkerOptions) Creates a new checker test.TestConfigurationBuilder.getDefaultConfigurationBuilder(String, File, String, Iterable, Iterable, List, boolean)adds additional checker options.- Parameters:
- testFile- the file containing test code, which will be type-checked
- checker- the class for the checker to use
- testDir- the path to the directory of test inputs
- checkerOptions- options to pass to the compiler when running tests
 
 
- 
- 
Method Details- 
runpublic void run()
- 
customizeOptionsOverride this method if you would like to supply a checker command-line option that depends on the Java file passed to the test. That file name is available in fieldtestFile.If you want to specify the same command-line option for all tests of a particular checker, then pass it to the CheckerFrameworkPerFileTestconstructor.- Parameters:
- previousOptions- the options specified in the constructor of the test previousOptions is unmodifiable
- Returns:
- a new list of options or the original passed through
 
 
-