SUT Updaters: package fuzzinator.update¶
- class fuzzinator.update.SubprocessUpdate(*, command, cwd=None, env=None, timeout=None, encoding=None, **kwargs)¶
Subprocess invocation-based SUT update.
Mandatory parameter of the SUT update:
command: string to pass to the child shell as a command to run.
Optional parameters of the SUT update:
cwd: if notNone, change working directory before the command invocation.env: if notNone, a dictionary of variable names-values to update the environment with.timeout: run subprocess with timeout.encoding: stdout and stderr encoding (default: autodetect).
Example configuration snippet:
[sut.foo] update=fuzzinator.update.SubprocessUpdate #update_condition=... is needed to trigger the update [sut.foo.update] command=git pull && make cwd=/home/alice/foo env={"BAR": "1"}
- class fuzzinator.update.TimestampUpdateCondition(*, path, age, **kwargs)¶
File timestamp-based SUT update condition.
Mandatory parameters of the SUT update condition:
path: path to a file or directory to check for its last modification time.age: maximum allowed age ofpathgiven in [days:][hours:][minutes:]seconds format.
Result of the SUT update condition:
Returns
Trueifpathdoes not exist or is older thanage.
Example configuration snippet:
[sut.foo] update_condition=fuzzinator.update.TimestampUpdateCondition #update=... will be triggered if file timestamp is too old [sut.foo.update_condition] path=/home/alice/foo/bin/foo age=7:00:00:00
- class fuzzinator.update.Update¶
Abstract base class to represent how a software-under-test (SUT) can be updated.
- __call__()¶
Update the SUT.
Raises
NotImplementedErrorby default.
- class fuzzinator.update.UpdateCondition¶
Abstract base class to represent how to determine whether a software-under-test (SUT) should be updated.
- __call__()¶
Return whether the SUT is outdated and an update should be perfromed.
Raises
NotImplementedErrorby default.- Returns:
True if the SUT should be updated, false otherwise.
- Return type: