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 SummaryFields inherited from class org.checkerframework.framework.test.CheckerFrameworkPerDirectoryTestcheckerNames, checkerOptions, classpathExtra, testDir, testFiles
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedCheckerFrameworkWPIPerDirectoryTest(List<File> testFiles, Class<? extends AbstractProcessor> checker, String testDir, String... checkerOptions) Creates a new checker test.
- 
Method SummaryModifier and TypeMethodDescriptionvoidcheckResult(TypecheckResult typecheckResult) Check that theTypecheckResultdid not fail.protected voiddoNotTypecheck(String endswith) Do not typecheck any file ending with the given String.static booleanhasSkipComment(File file, String skipComment) WhetherfilecontainsskipComment.protected FileResolves the test root directory from the optionalTestRootDirectoryannotation or falls back to the default ofcurrentDir/tests.Methods inherited from class org.checkerframework.framework.test.CheckerFrameworkPerDirectoryTestadjustTypecheckResult, customizeOptions, run
- 
Constructor Details- 
CheckerFrameworkWPIPerDirectoryTestprotected 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-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- 
doNotTypecheckprotected 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.testFilesfield.- 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".
 
- 
hasSkipCommentWhetherfilecontainsskipComment.- Parameters:
- file- a java test file
- skipComment- a comment that indicates that a test should be skipped
- Returns:
- whether filecontainsskipComment
 
- 
resolveTestDirectoryResolves the test root directory from the optionalTestRootDirectoryannotation or falls back to the default ofcurrentDir/tests.- Returns:
- the resolved directory
 
- 
checkResultCheck that theTypecheckResultdid not fail.- Parameters:
- typecheckResult- result to check
 
 
-