Documentation ¶
Index ¶
Constants ¶
View Source
const ( FUZZER_RADAMSA_MULTIFILE = "radamsa_multifile" FUZZER_RADAMSA = "radamsa" FUZZER_NOP = "nop" RUNMODE_COVER_ALL_ONCE = "cover_all_once" RUNMODE_INFINITE_RANDOM = "infinite_random" INTERPRETER_ARGS_FUZZ_FILE_MARKER = "XXX_FUZZFILE_XXX" INTERPRETER_ARGS_FUZZ_FILE_DIR_MARKER = "XXX_FUZZFILEDIR_XXX" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { General struct { // Seed specifies the seed that will be used for any random number // generation required internally in the tool, or as an argument to // external tools e.g. radamsa Seed int // EnableDebugLog indicates whether verbose logging for the purposes // of debugging should be enabled or not EnableDebugLog bool } SeedTests struct { // Dir is a path to a directory that will traversed, including // sub-directories, in order to find files that end in an extension // found in the ValidExts slice. Each matching file will be // considered a seed test. Dir string // ValidExts, in combination with Dir, is used to find seed tests ValidExts []string // ListFile can be used instead of Dir+ValidExts to specify the paths // of all seed tests to be included. The paths should simply be listed // with a newline separating each. ListFile string } TestProcessing TestProcessingConfig Radamsa struct { // Mutations is the mutations argument to be passed to radamsa. See // the output of the `radamsa -l` command for details Mutations string } Interpreter struct { // Path specifies the path to the interpreter that will be // used to process each test case Path string // Args is a string specifying the arguments to be provided // to the interpreter. The string provided by the constant // INTERPRETER_ARGS_FUZZ_FILE_MARKER should appear at least once. This // marker will be replaced by the path to the test case on each // invocation of the interpreter. The string provided by the constant // INTERPRETER_ARGS_FUZZ_FILE_DIR_MARKER may appear any number of // times, and will be replaced by the directory in which the test // resides. Args string // ArgGen specifies the name of an argument generator function. Such // functions are provided by malamute to dynamically generate the // required arguments for each test case. The following are the // available values // - FfJsRefTest : Generate arguments for the Firefox Javascript shell // ref tests // ArgGen string // TestCasePathPrefix is the root directory containing all tests cases. // If ArgGen is provided then this may also be provided, and will be // passed to the argument generator, for its use TestCaseRootDir string // Timeout indicates the maximum run time, in seconds, of a single // instantiation of the interpreter Timeout int } }
type TestProcessingConfig ¶
type TestProcessingConfig struct { // Fuzzer specifies the fuzzer to use to generate tests from the seed // tests. See the FUZZER_* constants for valid values. Fuzzer string // MultiFileFuzzerSeedCountMin specifies the minimum number of seeds to // be feed to the mutator on each iteration of a multi-file mutator MultiFileFuzzerSeedCountMin int // MultiFileFuzzerSeedCountMax specifies the minimum number of seeds to // be feed to the mutator on each iteration of a multi-file mutator MultiFileFuzzerSeedCountMax int // BatchSize is used to configure how many test cases are generated // at a time, from each seed BatchSize int // TestCount specifies an upper limit on the total number of test // cases to process TestCount int // Mode specifies the run mode for seed test processing. It can either // be configured to cover each seed test once (generating BatchSize) // tests for each seed, or to run forever, randomly selecting seed // tests as it goes. Mode string // GenerateTestsInPlace indicates if the test cases should be // generated in the same directory as the seed tests, or in a // a clean directory. GenerateTestsInPlace bool }
Click to show internal directories.
Click to hide internal directories.