public abstract class GenInputsAbstract extends CommandHandler
Modifier and Type | Class and Description |
---|---|
static class |
GenInputsAbstract.BehaviorType
The possible values for exception behavior types.
|
static class |
GenInputsAbstract.BloodhoundCoverageUpdateMode
The possible modes for updating the coverage information that is used by Bloodhound.
|
static class |
GenInputsAbstract.ClassLiteralsMode
The possible values of the literals_level command-line argument.
|
static class |
GenInputsAbstract.FlakyTestAction
Possible behaviors if Randoop generates a flaky test.
|
static class |
GenInputsAbstract.InputSelectionMode
How to select inputs: the random choice strategy.
|
static class |
GenInputsAbstract.Limits
Wraps the three ways of limiting Randoop test generation.
|
static class |
GenInputsAbstract.MethodSelectionMode
The possible values of the method_selection command-line argument.
|
Modifier and Type | Field and Description |
---|---|
static double |
alias_ratio
Try to reuse values from a sequence with the given frequency.
|
static boolean |
all_logs
Turns on all the logs.
|
static int |
attempted_limit
Maximum number of attempts to generate a test method candidate.
|
static boolean |
bloodhound_logging
Print to standard out, method weights and method uncovered ratios.
|
static GenInputsAbstract.BloodhoundCoverageUpdateMode |
bloodhound_update_mode
Bloodhound can update coverage information at a regular interval that is either based on time
or on the number of successful invocations.
|
static boolean |
capture_output |
static boolean |
check_compilable
Whether to check that generated sequences can be compiled.
|
static GenInputsAbstract.BehaviorType |
checked_exception
If a test throws a checked exception, should it be included in the error-revealing test suite
(value: ERROR), regression test suite (value: EXPECTED), or should it be discarded (value:
INVALID)?
|
static java.nio.file.Path |
classlist
File that lists classes to test.
|
static int |
clear
Clear the component set each time it contains the given number of inputs.
|
static long |
clear_memory
Clear the component set each time Randoop uses this much memory.
|
static GenInputsAbstract.BehaviorType |
cm_exception
If a test throws a
ConcurrentModificationException exception, should it be included in
the error-revealing test suite (value: ERROR), regression test suite (value: EXPECTED), or
should it be discarded (value: INVALID)? |
static boolean |
debug_checks
Perform expensive internal checks (for Randoop debugging).
|
static boolean |
deterministic
By default, Randoop is deterministic: running Randoop twice with the same arguments will
produce the same test suite, so long as the program under test is deterministic.
|
static boolean |
dont_omit_replaced_methods
Include methods that are otherwise omitted by default.
|
static boolean |
dont_output_tests
Run test generation without output.
|
static boolean |
dontexecute
Create sequences but never execute them.
|
static java.lang.String |
error_test_basename
Base name (no ".java" suffix) of the JUnit file containing error-revealing tests
|
static boolean |
fail_on_generation_error
(For debugging.) If an error or exception is thrown during type instantiation or input
selection, this option allows the error to be passed through to
GenTests.handle(String[]) where a comprehensive error message is printed. |
static GenInputsAbstract.FlakyTestAction |
flaky_test_behavior
What to do if Randoop generates a flaky test.
|
static boolean |
forbid_null
Do not use
null as input to methods or constructors, even when no other argument value
can be generated. |
static int |
generated_limit
Maximum number of test method candidates generated internally.
|
static boolean |
grt_fuzzing
The "GRT Impurity" technique from the GRT paper modifies the inputs of methods used in tests.
|
static double |
grt_fuzzing_stddev
The standard deviation parameter for the Gaussian distribution used to fuzz the primitive
number inputs used in tests.
|
static boolean |
ignore_condition_compilation_error
Make Randoop proceed, instead of failing, if the Java condition text of a specification cannot
be compiled.
|
static boolean |
ignore_condition_exception
Make Randoop treat a specification whose execution throws an exception as returning
false . |
static boolean |
ignore_condition_exception_quiet
If true, don't print diagnostics about specification that throw an exception.
|
static GenInputsAbstract.InputSelectionMode |
input_selection
Randoop generates new tests by combining old previously-generated tests.
|
static java.lang.String |
junit_after_all
Name of file containing code text to be added to the
@AfterClass -annotated
method of each generated test class. |
static java.lang.String |
junit_after_each
Name of file containing code text to be added to the
@After -annotated
method of each generated test class. |
static java.lang.String |
junit_before_all
Name of file containing code text to be added to the
@BeforeClass -annotated
method of each generated test class. |
static java.lang.String |
junit_before_each
Name of file containing code text to be added to the
@Before -annotated
method of each generated test class. |
static java.lang.String |
junit_output_dir
Name of the directory in which JUnit files should be written.
|
static java.lang.String |
junit_package_name
Name of the package for the generated JUnit files.
|
static boolean |
junit_reflection_allowed
Whether to use JUnit's standard reflective mechanisms for invoking tests.
|
static java.lang.String |
jvm_max_memory
How much memory Randoop should use when starting new JVMs.
|
private static int |
LIMIT_DEFAULT |
static java.util.List<java.lang.String> |
literals_file
A file containing literal values to be used as inputs to methods under test, or "CLASSES".
|
static GenInputsAbstract.ClassLiteralsMode |
literals_level
How to use literal values that are specified via the
--literals-file command-line
option. |
static org.plumelib.util.FileWriterWithName |
log
A file to which to log lots of information.
|
static int |
maxsize
Do not generate tests with more than this many statements.
|
static GenInputsAbstract.MethodSelectionMode |
method_selection
Randoop generates new tests by choosing from a set of methods under test.
|
static java.nio.file.Path |
methodlist
A file containing a list of methods and constructors to call in tests, each given as a fully-qualified
signature on a separate line.
|
static boolean |
minimize_error_test
If true, Randoop outputs both original error-revealing tests and a minimized version.
|
static GenInputsAbstract.BehaviorType |
ncdf_exception
If a test throws a
NoClassDefFoundError exception, should it be included in the
error-revealing test suite (value: ERROR), regression test suite (value: EXPECTED), or should
it be discarded (value: INVALID)? |
static boolean |
no_error_revealing_tests
Whether to output error-revealing tests.
|
static boolean |
no_regression_assertions
Whether to include assertions in regression tests.
|
static boolean |
no_regression_tests
Whether to output regression tests.
|
static int |
nondeterministic_methods_to_output
How many suspected side-effecting or nondeterministic methods (from the program under test) to
print.
|
static GenInputsAbstract.BehaviorType |
npe_on_non_null_input
If a test that never passes
null as an argument throws a NullPointerException ,
should the test be included in the error-revealing test suite (value: ERROR), regression test
suite (value: EXPECTED), or should it be discarded (value: INVALID)? |
static GenInputsAbstract.BehaviorType |
npe_on_null_input
If a test that passes
null as an argument throws a NullPointerException , should
the test be be included in the error-revealing test suite (value: ERROR), regression test suite
(value: EXPECTED), or should it be discarded (value: INVALID)? |
static double |
null_ratio
Use null with the given frequency as an argument to method calls.
|
private static double |
null_ratio_default
The default value for the
--null-ratio command-line argument. |
static java.util.List<java.util.regex.Pattern> |
omit_classes
A regex that indicates classes that should not be used in tests, even if included by some other
command-line option.
|
static java.util.List<java.nio.file.Path> |
omit_classes_file
A file containing a list of regular expressions that indicate classes not to call in a test.
|
static boolean |
omit_classes_no_defaults
Include classes that are otherwise omitted by default.
|
static java.util.List<java.lang.String> |
omit_field
A fully-qualified field name of a field to be excluded from test generation.
|
static java.nio.file.Path |
omit_field_file
File that contains fully-qualified field names to be excluded from test generation.
|
static java.nio.file.Path |
omit_field_list
File that contains fully-qualified field names to be excluded from test generation.
|
static java.util.List<java.util.regex.Pattern> |
omit_methods
A regex that indicates methods that should not be called directly in generated tests.
|
static java.util.List<java.nio.file.Path> |
omit_methods_file
A file containing a list of regular expressions that indicate methods that should not be
included in generated tests.
|
static boolean |
omit_methods_no_defaults
Include methods that are otherwise omitted by default.
|
static boolean |
only_test_public_members
Restrict tests to only call public members of classes.
|
static GenInputsAbstract.BehaviorType |
oom_exception
If a test throws an
OutOfMemoryError exception, should it be included in the
error-revealing test suite (value: ERROR), regression test suite (value: EXPECTED), or should
it be discarded (value: INVALID)? |
static org.plumelib.util.FileWriterWithName |
operation_history_log
A file to which to write operation usage, when Randoop exits.
|
static int |
output_limit
The maximum number of regression and error-revealing tests to output.
|
static boolean |
print_non_compiling_file
True if Randoop should print generated tests that do not compile, which indicate Randoop bugs.
|
static boolean |
progressdisplay
Run noisily: display information such as progress updates.
|
static long |
progressintervalmillis
Display a progress message every <int> milliseconds; -1 means no display.
|
static long |
PROGRESSINTERVALMILLIS_DEFAULT
Default value for progressintervalmillis; helps to see if user has set it.
|
static long |
progressintervalsteps
Display a progress message every <int> attempts to create a test; -1 means none.
|
static int |
randomseed
The random seed to use in the generation process.
|
static java.lang.String |
regression_test_basename
Class name for the JUnit regression tests.
|
static boolean |
repeat_heuristic |
static java.util.regex.Pattern |
require_classname_in_test
Classes that must occur in a test.
|
static java.nio.file.Path |
require_covered_classes
File containing binary names of classes that the tests must use, directly or indirectly.
|
static org.plumelib.util.FileWriterWithName |
selection_log
A file to which to log selections; helps find sources of non-determinism (randomness).
|
static java.nio.file.Path |
side_effect_free_methods
File containing side-effect-free methods (also known as "pure methods"), each given as a fully-qualified
signature on a separate line.
|
static boolean |
silently_ignore_bad_class_names |
static GenInputsAbstract.BehaviorType |
sof_exception
If a test throws a
StackOverflowError exception, should it be included in the
error-revealing test suite (value: ERROR), regression test suite (value: EXPECTED), or should
it be discarded (value: INVALID)? |
static java.util.List<java.nio.file.Path> |
specifications
Read file of specifications; see manual section "Specifying
expected code behavior".
|
static boolean |
stop_on_error_test
Stop generation as soon as one error-revealing test has been generated.
|
static int |
string_maxlen
Maximum length of strings in generated tests, including in assertions.
|
static java.util.List<java.lang.String> |
system_props
System properties that Randoop will set similarly to
java -D , of the form "x=y". |
static java.util.List<java.lang.String> |
test_package
Package to test.
|
static java.util.List<java.lang.String> |
testclass
The fully-qualified raw name of a class to test; for example,
--testclass=java.util.TreeSet . |
static java.util.List<java.nio.file.Path> |
testjar
Treat every class in the given jar file as a class to test.
|
static int |
testsperfile
Maximum number of tests to write to each JUnit file.
|
static int |
time_limit
Maximum number of seconds to spend generating tests.
|
static GenInputsAbstract.BehaviorType |
unchecked_exception
If a test throws an unchecked exception other than
ConcurrentModificationException ,
NoClassDefFoundError , NullPointerException , OutOfMemoryError , and
StackOverflowError , should the test be included in the error-revealing test suite
(value: ERROR), regression test suite (value: EXPECTED), or should it be discarded (value:
INVALID)? |
static boolean |
use_jdk_specifications
Use built-in specifications for JDK classes and for classes that inherit from them, as if they
had been supplied using the
--specifications command-line argument. |
static java.util.List<java.lang.String> |
visitor
Install the given runtime visitor.
|
Modifier | Constructor and Description |
---|---|
protected |
GenInputsAbstract(java.lang.String command,
java.lang.String pitch,
java.lang.String commandGrammar,
java.lang.String where,
java.lang.String summary,
java.util.List<java.lang.String> notes,
java.lang.String input,
java.lang.String output,
java.lang.String example,
org.plumelib.options.Options options) |
Modifier and Type | Method and Description |
---|---|
void |
checkOptionsValid()
Check that the options given satisfy any specified constraints, and fail if they do not.
|
private static java.util.List<java.lang.String> |
getClassesWithPackageFromDirectory(java.io.File directory,
java.lang.String packageName,
AccessibilityPredicate accessibility)
Given a directory on the CLASSPATH, returns classes in the given package.
|
private static java.util.List<java.lang.String> |
getClassesWithPackageFromJar(java.io.File jarFile,
java.lang.String packageName,
AccessibilityPredicate accessibility)
Returns classes with the given package in the given jar file.
|
static java.util.Set<java.lang.String> |
getClassnamesFromArgs(AccessibilityPredicate accessibility)
Read names of classes under test, as provided with the
--classlist or --testjar
command-line argument. |
static java.util.Set<java.lang.String> |
getClassNamesFromFile(java.nio.file.Path file)
Returns the class names listed in the file.
|
static java.util.Set<java.lang.String> |
getClassnamesFromJarFile(java.nio.file.Path jarFile,
AccessibilityPredicate accessibility)
Read names of classes from a jar file.
|
private static java.util.List<java.lang.String> |
getClassnamesFromPackage(java.lang.String packageName,
AccessibilityPredicate accessibility)
Returns classes from the classpath that are in the given package.
|
static java.util.Set<java.lang.String> |
getStringSetFromFile(java.nio.file.Path listFile,
java.lang.String fileDescription)
Returns a set consisting of the lines of the file, except those starting with "#".
|
static java.util.Set<java.lang.String> |
getStringSetFromFile(@Nullable java.nio.file.Path listFile,
java.lang.String fileDescription,
@Regex java.lang.String commentRegex,
@Regex(value=1) java.lang.String includeRegex)
Returns a set consisting of the lines of the file.
|
private static boolean |
shouldOmitClass(java.lang.String classname)
Returns true if the class should be omitted, according to the
omit_classes field. |
(package private) static void |
validateClassName(java.lang.String className,
java.lang.String commandLineOption)
Validates an argument that should be a class name.
|
handle, handles, printHTML, usageMessage
public static java.util.List<java.nio.file.Path> testjar
See the notes about specifying methods that may appear in a test.
public static java.util.List<java.lang.String> test_package
The classes in the package are tested in addition to any specified using --testjar
,
--testclass
, and --classlist
public static java.nio.file.Path classlist
In the file, each class under test is specified by its binary name on a separate line. See
an example.
These classes are tested in addition to any specified using --testjar
, --test-package
, and --testclass
.
Using --classlist
is less common than --testjar
. See the notes about specifying methods that may
appear in a test.
public static java.util.List<java.lang.String> testclass
--testclass=java.util.TreeSet
. All of its methods are methods under test. This class is tested
in addition to any specified using --testjar
, --test-package
, and --classlist
.
It is unusual to specify just one or a few classes to test. See the notes about specifying methods that may appear in a test.
public static java.nio.file.Path methodlist
These methods augment any methods from classes given by the --testjar
, --classlist
, and --testclass
options.
See an example file.
Using --methodlist
is less common, and more error-prone, than --testjar
,
--test-package
, --classlist
, or --testclass
. See the notes about specifying methods that may
appear in a test.
public static java.util.List<java.util.regex.Pattern> omit_classes
^
" or "$
", they refer to the beginning and the end
of the class name.public static java.util.List<java.nio.file.Path> omit_classes_file
--omit-classes
.public static java.util.List<java.util.regex.Pattern> omit_methods
replacecall
agent.
Randoop will not directly call a method whose fully-qualified signature matches the regular expression, or a method inherited from a superclass or interface whose signature matches the regular expression.
If the regular expression contains anchors "^
" or "$
", they refer to the
beginning and the end of the signature string.
Methods replaced by the replacecall
agent are also automatically omitted.
public static java.util.List<java.nio.file.Path> omit_methods_file
--omit-methods
, and the default omissions.public static boolean omit_methods_no_defaults
replacecall
agent is treated as if it had been supplied as an
argument to --omit-methods
.public static boolean omit_classes_no_defaults
public static boolean dont_omit_replaced_methods
replacecall
agent is treated as if it had been supplied as an
argument to --omit-methods
.public static java.util.List<java.lang.String> omit_field
--omit-field-file
option.public static java.nio.file.Path omit_field_file
--omit-field
option.public static java.nio.file.Path omit_field_list
--omit-field
option.public static boolean only_test_public_members
When this is false, the setting of --junit-package-name
and package accessibility is
used to determine which members will be used in tests.
public static boolean silently_ignore_bad_class_names
public static boolean fail_on_generation_error
GenTests.handle(String[])
where a comprehensive error message is printed.public static GenInputsAbstract.FlakyTestAction flaky_test_behavior
Flaky tests are usually due to calling Randoop on side-effecting or nondeterministic methods, and ultimately, the solution is not to call Randoop on such methods; see section Nondeterminism in the Randoop manual.
public static int nondeterministic_methods_to_output
public static boolean no_error_revealing_tests
--no-regression-tests
. Restricting output can result in long runs if the default values of
--generated-limit
and --time-limit
are used.public static boolean no_regression_tests
--no-error-revealing-tests
. Restricting output can result in long runs if the default values
of --generated-limit
and --time-limit
are used.public static boolean no_regression_assertions
public static boolean check_compilable
public static java.util.regex.Pattern require_classname_in_test
public static java.nio.file.Path require_covered_classes
public static boolean minimize_error_test
--stop-on-error-test=true
. Also see the test
case minimization options.public static GenInputsAbstract.BehaviorType checked_exception
public static GenInputsAbstract.BehaviorType unchecked_exception
ConcurrentModificationException
,
NoClassDefFoundError
, NullPointerException
, OutOfMemoryError
, and
StackOverflowError
, should the test be included in the error-revealing test suite
(value: ERROR), regression test suite (value: EXPECTED), or should it be discarded (value:
INVALID)?
The arguments --cm-exception
, --ncdf-exception
, --npe-on-null-input
,
--npe-on-non-null-input
, --oom-exception
, and --sof-exception
handle
special cases of unchecked exceptions.
public static GenInputsAbstract.BehaviorType cm_exception
ConcurrentModificationException
exception, should it be included in
the error-revealing test suite (value: ERROR), regression test suite (value: EXPECTED), or
should it be discarded (value: INVALID)?public static GenInputsAbstract.BehaviorType ncdf_exception
NoClassDefFoundError
exception, should it be included in the
error-revealing test suite (value: ERROR), regression test suite (value: EXPECTED), or should
it be discarded (value: INVALID)?public static GenInputsAbstract.BehaviorType npe_on_null_input
null
as an argument throws a NullPointerException
, should
the test be be included in the error-revealing test suite (value: ERROR), regression test suite
(value: EXPECTED), or should it be discarded (value: INVALID)?public static GenInputsAbstract.BehaviorType npe_on_non_null_input
null
as an argument throws a NullPointerException
,
should the test be included in the error-revealing test suite (value: ERROR), regression test
suite (value: EXPECTED), or should it be discarded (value: INVALID)?public static GenInputsAbstract.BehaviorType oom_exception
OutOfMemoryError
exception, should it be included in the
error-revealing test suite (value: ERROR), regression test suite (value: EXPECTED), or should
it be discarded (value: INVALID)?public static GenInputsAbstract.BehaviorType sof_exception
StackOverflowError
exception, should it be included in the
error-revealing test suite (value: ERROR), regression test suite (value: EXPECTED), or should
it be discarded (value: INVALID)?public static java.util.List<java.nio.file.Path> specifications
public static boolean use_jdk_specifications
--specifications
command-line argument.public static boolean ignore_condition_compilation_error
public static boolean ignore_condition_exception
false
. If true, Randoop treats x.f == 22
equivalently to the wordier x != null
&& x.f == 22
. If false, Randoop halts when a specification throws an exception.public static boolean ignore_condition_exception_quiet
--ignore-condition-exception
is set.public static java.nio.file.Path side_effect_free_methods
public static int time_limit
This is the overall limit, not the limit per class under test. The default value is too small to be effective for generating tests for an entire project. If you are testing multiple classes, you may wish to multiply the default value by the number of classes under test.
Randoop may run for longer than this because of a long-running test. The elapsed time is checked after each test, not during a test's execution.
private static int LIMIT_DEFAULT
public static int attempted_limit
public static int generated_limit
public static int output_limit
--dont-output-tests
or
--no-error-revealing-tests
together with --no-regression-tests
.
In the current implementation, the number of tests in the output can be substantially smaller than this limit. One reason is that Randoop does not output subsumed tests, which appear as a subsequence of some longer test.
public static int maxsize
public static boolean stop_on_error_test
--minimize-error-test
.private static double null_ratio_default
--null-ratio
command-line argument. Used to test whether the
command-line argument was present.public static double null_ratio
For example, a null ratio of 0.05 directs Randoop to use null
as an input 5 percent
of the time when a non-null
value of the appropriate type is available.
Unless --forbid_null
is supplied, a null
value will still be used if no
other value can be passed as an argument even if --null-ratio=0
.
Randoop never uses null
for receiver values.
public static boolean forbid_null
null
as input to methods or constructors, even when no other argument value
can be generated.
If true, Randoop will not generate a test when unable to find a non-null value of appropriate type as an input. This could result in certain class members being untested.
public static java.util.List<java.lang.String> literals_file
Literals in these files are used in addition to all other constants in the pool. For the
format of this file, see documentation in class LiteralFileReader
.
The special value "CLASSES" (with no quotes) means to read literals from all classes under
test.
public static GenInputsAbstract.ClassLiteralsMode literals_level
--literals-file
command-line
option.GenInputsAbstract.ClassLiteralsMode
public static GenInputsAbstract.MethodSelectionMode method_selection
public static boolean bloodhound_logging
public static GenInputsAbstract.BloodhoundCoverageUpdateMode bloodhound_update_mode
public static int string_maxlen
public static boolean grt_fuzzing
Non-primitive input fuzzing will be added in the future.
public static double grt_fuzzing_stddev
--grt-fuzzing
is set to true.public static double alias_ratio
A ratio of 0 results in tests where each value created within a test input is typically used at most once as an argument in a method call. A ratio of 1 tries to maximize the number of times values are used as inputs to parameters within a test.
public static GenInputsAbstract.InputSelectionMode input_selection
public static int clear
Randoop stores previously-generated tests in a "component" set, and uses them to generate new tests. Setting this variable to a small number can sometimes result in a greater variety of tests generated during a single run.
public static long clear_memory
Setting this variable to a smaller number may prevent an out-of-memory exception or a run that is slow due to thrashing and garbage collection.
public static int testsperfile
public static java.lang.String error_test_basename
public static java.lang.String regression_test_basename
public static java.lang.String junit_package_name
--only-test-public-members
.public static java.lang.String junit_before_each
@Before
-annotated
method of each generated test class. Code is uninterpreted, and, so, is not run during
generation. Intended for use when run-time behavior of classes under test requires setup
behavior that is not needed for execution by reflection. (The annotation @Before
is
JUnit 4, and @BeforeEach
is JUnit 5.)public static java.lang.String junit_after_each
@After
-annotated
method of each generated test class. Intended for use when run-time behavior of classes under
test requires tear-down behavior that is not needed for execution by reflection. Code is
uninterpreted, and, so, is not run during generation. (The annotation @After
is JUnit
4, and @AfterEach
is JUnit 5.)public static java.lang.String junit_before_all
@BeforeClass
-annotated
method of each generated test class. Intended for use when run-time behavior of classes under
test requires setup behavior that is not needed for execution by reflection. Code is
uninterpreted, and, so, is not run during generation. (The annotation @BeforeClass
is
JUnit 4, and @BeforeAll
is JUnit 5.)public static java.lang.String junit_after_all
@AfterClass
-annotated
method of each generated test class. Intended for use when run-time behavior of classes under
test requires tear-down behavior that is not needed for execution by reflection. Code is
uninterpreted, and, so, is not run during generation. (The annotation @AfterClass
is
JUnit 4, and @AfterAll
is JUnit 5.)public static java.lang.String junit_output_dir
public static boolean dont_output_tests
NOTE: Because there is no output, the value of --output-limit
will never be met, so
be sure to set --generated-limit
or --time-limit
to a reasonable value when
using this option.
public static boolean junit_reflection_allowed
main
method and will execute methods
and assertions, but won't be JUnit suites.public static java.util.List<java.lang.String> system_props
java -D
, of the form "x=y".public static java.lang.String jvm_max_memory
-Xmx...
when starting Randoop itself.public static boolean capture_output
public static int randomseed
public static boolean deterministic
--randomseed
command-line option.) However,
there are command-line arguments that make Randoop non-deterministic. Passing --deterministic
makes Randoop fail if one of the non-deterministic command-line arguments is
also passed; that is, passing --deterministic
is a way to ensure you are not invoking
Randoop in a way that may lead to non-deterministic output. The --deterministic
command
line argument doesn't itself do anything except check other command-line arguments.public static boolean progressdisplay
public static long PROGRESSINTERVALMILLIS_DEFAULT
public static long progressintervalmillis
public static long progressintervalsteps
public static boolean debug_checks
public static boolean all_logs
public static org.plumelib.util.FileWriterWithName log
public static org.plumelib.util.FileWriterWithName selection_log
public static org.plumelib.util.FileWriterWithName operation_history_log
public static boolean print_non_compiling_file
public static boolean dontexecute
public static java.util.List<java.lang.String> visitor
public static boolean repeat_heuristic
protected GenInputsAbstract(java.lang.String command, java.lang.String pitch, java.lang.String commandGrammar, java.lang.String where, java.lang.String summary, java.util.List<java.lang.String> notes, java.lang.String input, java.lang.String output, java.lang.String example, org.plumelib.options.Options options)
public void checkOptionsValid()
static void validateClassName(java.lang.String className, java.lang.String commandLineOption)
className
- an argument that should be a class namecommandLineOption
- the command line option name, without leading "--"private static boolean shouldOmitClass(java.lang.String classname)
omit_classes
field.classname
- a class namepublic static java.util.Set<java.lang.String> getClassnamesFromArgs(AccessibilityPredicate accessibility)
--classlist
or --testjar
command-line argument.accessibility
- the accessibility predicatepublic static java.util.Set<java.lang.String> getClassnamesFromJarFile(java.nio.file.Path jarFile, AccessibilityPredicate accessibility)
jarFile
- the jar file from which to read classesaccessibility
- the accessibility predicateprivate static java.util.List<java.lang.String> getClassnamesFromPackage(java.lang.String packageName, AccessibilityPredicate accessibility)
packageName
- a package name; may be the empty stringaccessibility
- the accessibility predicatepackageName
private static java.util.List<java.lang.String> getClassesWithPackageFromDirectory(java.io.File directory, java.lang.String packageName, AccessibilityPredicate accessibility)
directory
- a directory on the CLASSPATHpackageName
- a package nameaccessibility
- the accessibility predicateprivate static java.util.List<java.lang.String> getClassesWithPackageFromJar(java.io.File jarFile, java.lang.String packageName, AccessibilityPredicate accessibility)
jarFile
- a jar file containing classespackageName
- a package nameaccessibility
- the accessibility predicatepackageName
in the given jar filepublic static java.util.Set<java.lang.String> getClassNamesFromFile(java.nio.file.Path file)
file
- the file containing the stringspublic static java.util.Set<java.lang.String> getStringSetFromFile(java.nio.file.Path listFile, java.lang.String fileDescription)
listFile
- the file containing the stringsfileDescription
- string used in error messagespublic static java.util.Set<java.lang.String> getStringSetFromFile(@Nullable java.nio.file.Path listFile, java.lang.String fileDescription, @Regex java.lang.String commentRegex, @Regex(value=1) java.lang.String includeRegex)
listFile
- the file containing the stringsfileDescription
- string used in error messagescommentRegex
- indicates which lines are comments that should be ignoredincludeRegex
- if this string appears in the file, then another file is recursively read