# System Under Test Definition
A system-under-test (SUT) definition may be represented as a collection of configuration files.
SUT.toml is the manifest for the SUT itself—it contains some identifying information for the SUT and then points to directories containing configuration files for each component.
# Component Directories
A SUT is made up of components, logical groupings of functionality. Each component has a set of manifest files which Modality generates based on the instrumentation in your code using the
modality-probe manifest-gen command. Generated component manifest files must live together in a directory with the following structure:
<component-name>/(directory, generated with
Component.toml(file, the Component Manifest)
events.csv(file, the Events Manifest)
probes.csv(file, the Probes Manifest)
mutators/(directory, optional, contains 0 or more Mutator Manifest files)
<mutator-name>.toml(file, a Mutator Manifest)
For a simple example of generating component manifest files, see the guide.
# SUT Manifest
The SUT manifest is a toml file with the name
SUT.toml which contains the following fields:
- name - required - string - The name of the whole SUT.
- tags - optional - array of 0 or more strings - Each string is an arbitrary piece of metadata or description about the SUT.
- component_paths - optional - array of 0 or more strings - Each string must contain a relative file system path, pointing to a directory containing definition files for a component.
# Example SUT Manifest
name = "test-sut" tags = ["test", "producer", "consumer"] component_paths = [ "./test-component" ]