public abstract class CheckerFrameworkWPIPerDirectoryTest extends CheckerFrameworkPerDirectoryTest
CheckerFrameworkPerDirectoryTest
for testing the Whole Program
Inference feature of the Checker Framework, which is tested by running pairs of these tests: a
"generation test" (of class AinferGeneratePerDirectoryTest
) to do inference using the
-Ainfer
option, and a "validation test" (of class AinferValidatePerDirectoryTest
)
to check that files typecheck after those inferences are taken into account. This common
superclass of those two classes should never be used directly.checkerNames, checkerOptions, classpathExtra, testDir, testFiles
Modifier | Constructor and Description |
---|---|
protected |
CheckerFrameworkWPIPerDirectoryTest(List<File> testFiles,
Class<? extends AbstractProcessor> checker,
String testDir,
String... checkerOptions)
Creates a new checker test.
|
Modifier and Type | Method and Description |
---|---|
protected void |
doNotTypecheck(String endswith)
Do not typecheck any file ending with the given String.
|
adjustTypecheckResult, customizeOptions, run
protected CheckerFrameworkWPIPerDirectoryTest(List<File> testFiles, Class<? extends AbstractProcessor> checker, String testDir, String... checkerOptions)
TestConfigurationBuilder.getDefaultConfigurationBuilder(String, File, String,
Iterable, Iterable, List, boolean)
adds additional checker options.
testFiles
- the files containing test code, which will be type-checkedchecker
- the class for the checker to usetestDir
- the path to the directory of test inputscheckerOptions
- options to pass to the compiler when running testsprotected void doNotTypecheck(@UnderInitialization(value=CheckerFrameworkPerDirectoryTest.class) CheckerFrameworkWPIPerDirectoryTest this, String endswith)
-Awarns
) and so
must be excluded.
This code takes advantage of the mutability of the CheckerFrameworkPerDirectoryTest.testFiles
field.
endswith
- a string that the absolute path of the target file that should not be
typechecked ends with. Usually, this takes the form "all-systems/ProblematicFile.java".