Class ImmutableTestConfiguration
java.lang.Object
org.checkerframework.framework.test.ImmutableTestConfiguration
- All Implemented Interfaces:
TestConfiguration
Represents all of the information needed to execute the Javac compiler for a given set of test
files.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionDiagnostic files consist of a set of lines that enumerate expected error/warning diagnostics.Returns the map returned byTestConfiguration.getOptions()
, flattened into a list.Some Javac command line arguments require arguments themselves (e.g.Returns a list of annotation processors (Checkers) passed to the Javac compiler.Returns a list of source files a CheckerFrameworkPerDirectoryTest should be run over.boolean
Returns true if the TypecheckExecutor should emit debug information on system out, false otherwise.toString()
-
Constructor Details
-
ImmutableTestConfiguration
public ImmutableTestConfiguration(List<File> diagnosticFiles, List<File> testSourceFiles, List<@BinaryName String> processors, Map<String, @Nullable String> options, boolean shouldEmitDebugInfo) Create a new ImmutableTestConfiguration.- Parameters:
diagnosticFiles
- files containing diagnostics that should be returned by javactestSourceFiles
- the source files to compileprocessors
- the annotation processors (usually checkers) to runoptions
- options that should be passed to the compilershouldEmitDebugInfo
- the value of system property "emit.test.debug"
-
-
Method Details
-
getTestSourceFiles
Description copied from interface:TestConfiguration
Returns a list of source files a CheckerFrameworkPerDirectoryTest should be run over. These source files will be passed to Javac when the test is run. These are NOT JUnit tests.- Specified by:
getTestSourceFiles
in interfaceTestConfiguration
- Returns:
- a list of source files a CheckerFrameworkPerDirectoryTest should be run over
-
getDiagnosticFiles
Description copied from interface:TestConfiguration
Diagnostic files consist of a set of lines that enumerate expected error/warning diagnostics. The lines are of the form:fileName:lineNumber: diagnostKind: (messageKey)
e.g.,MethodInvocation.java:17: error: (method.invocation)
If getDiagnosticFiles does NOT return an empty list, then the only diagnostics expected by the TestExecutor will be the ones found in these files. If it does return an empty list, then the only diagnostics expected will be the ones found in comments in the input test files.It is preferred that users write the errors in the test files and not in diagnostic files.
- Specified by:
getDiagnosticFiles
in interfaceTestConfiguration
- Returns:
- a List of diagnostic files containing the error/warning messages expected to be output when Javac is run on the files returned by getTestSourceFiles. Return an empty list if these messages were specified within the source files.
-
getProcessors
Description copied from interface:TestConfiguration
Returns a list of annotation processors (Checkers) passed to the Javac compiler.- Specified by:
getProcessors
in interfaceTestConfiguration
- Returns:
- a list of annotation processors (Checkers) passed to the Javac compiler
-
getOptions
Description copied from interface:TestConfiguration
Some Javac command line arguments require arguments themselves (e.g.-classpath
takes a path) getOptions returns aMap(optionName => optionArgumentIfAny)
. If an option does not take an argument, pass null as the value.E.g.,
Map( "-AprintAllQualifiers" => null "-classpath" => "myDir1:myDir2" )
- Specified by:
getOptions
in interfaceTestConfiguration
- Returns:
- a Map representing all command-line options to Javac other than source files and processors
-
getFlatOptions
Description copied from interface:TestConfiguration
Returns the map returned byTestConfiguration.getOptions()
, flattened into a list. The entries will be added as followed: List(key1, value1, key2, value2, ..., keyN, valueN). If a value is NULL, then it will not appear in the list.- Specified by:
getFlatOptions
in interfaceTestConfiguration
- Returns:
- the map returned
TestConfiguration.getOptions()
, but flattened into a list
-
shouldEmitDebugInfo
public boolean shouldEmitDebugInfo()Description copied from interface:TestConfiguration
Returns true if the TypecheckExecutor should emit debug information on system out, false otherwise.- Specified by:
shouldEmitDebugInfo
in interfaceTestConfiguration
- Returns:
- true if the TypecheckExecutor should emit debug information on system out, false otherwise
-
toString
-