Class AinferGeneratePerDirectoryTest


  • public abstract class AinferGeneratePerDirectoryTest
    extends CheckerFrameworkWPIPerDirectoryTest
    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 this class) 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.
    • Constructor Detail

      • AinferGeneratePerDirectoryTest

        protected AinferGeneratePerDirectoryTest​(java.util.List<java.io.File> testFiles,
                                                 java.lang.Class<? extends javax.annotation.processing.AbstractProcessor> checker,
                                                 java.lang.String testDir,
                                                 java.lang.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 Detail

      • resolveTestDirectory

        protected java.io.File resolveTestDirectory()
        Resolves the test root directory from the optional TestRootDirectory annotation or falls back to the default of currentDir/tests.
        Returns:
        the resolved directory
      • checkResult

        public void checkResult​(TypecheckResult typecheckResult)
        Check that the TypecheckResult did not fail.
        Parameters:
        typecheckResult - result to check