Class CheckerFrameworkWPIPerDirectoryTest
java.lang.Object
org.checkerframework.framework.test.CheckerFrameworkPerDirectoryTest
org.checkerframework.framework.test.CheckerFrameworkWPIPerDirectoryTest
- Direct Known Subclasses:
AinferGeneratePerDirectoryTest
,AinferValidatePerDirectoryTest
A specialized variant of
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.-
Field Summary
Fields inherited from class org.checkerframework.framework.test.CheckerFrameworkPerDirectoryTest
checkerNames, checkerOptions, classpathExtra, testDir, testFiles
-
Constructor Summary
ModifierConstructorDescriptionprotected
CheckerFrameworkWPIPerDirectoryTest
(List<File> testFiles, Class<? extends AbstractProcessor> checker, String testDir, String... checkerOptions) Creates a new checker test. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doNotTypecheck
(String endswith) Do not typecheck any file ending with the given String.Methods inherited from class org.checkerframework.framework.test.CheckerFrameworkPerDirectoryTest
adjustTypecheckResult, customizeOptions, run
-
Constructor Details
-
CheckerFrameworkWPIPerDirectoryTest
protected CheckerFrameworkWPIPerDirectoryTest(List<File> testFiles, Class<? extends AbstractProcessor> checker, String testDir, String... checkerOptions) Creates a new checker test. Use this constructor when creating a generation test.TestConfigurationBuilder.getDefaultConfigurationBuilder(String, File, String, Iterable, Iterable, List, boolean)
adds additional checker options.- Parameters:
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 tests
-
-
Method Details
-
doNotTypecheck
protected void doNotTypecheck(@UnderInitialization(CheckerFrameworkPerDirectoryTest.class) CheckerFrameworkWPIPerDirectoryTest this, String endswith) Do not typecheck any file ending with the given String. A subclass of CheckerFrameworkWPIPerDirectoryTest uses this routine to avoid typechecking files in the all-systems test suite that are problematic for one typechecker. For example, this routine is useful when running the all-systems tests using WPI, because some all-systems tests have expected errors that become warnings during a WPI run (because of-Awarns
) and so must be excluded.This code takes advantage of the mutability of the
CheckerFrameworkPerDirectoryTest.testFiles
field.- Parameters:
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".
-