modality sut

Command: modality sut

Create, manage, and retrieve information about Systems Under Test (SUTs) and their constituent entities. Note that this command and its subcommands print information about what entities are defined for a given SUT. Any given entity may or may not be observed in a particular session—use the modality session command to see information about what is actually observed for a specific session. This command's functionality is exposed via subcommands:

# modality sut component

Command: modality sut component

List and inspect component definitions for a particular SUT. Subcommands:

# modality sut component inspect

Command: modality sut component inspect <component name | id>

Print detailed definitional information about a component and the entities within it for a particular SUT. If no SUT is specified with the --using flag the default SUT will be used.

# Example

$ modality sut component inspect producer-component
Name: producer-component
ID: 6bb859b9-8f73-4b35-afa8-fded426b8edd
Tags: []
SUT: example-sut
Probes:
  PRODUCER
Events:
  INIT
  DEINIT
  SAMPLED
  SENT_MEASUREMENT
  SENT_HEARTBEAT
Mutators:
  sample-data-mutator

# Options

<component name | id> - Identifier for the component. Component ID can be found with modality sut component list -vv.

--color <auto | always | never> - Whether to color the output. Default is auto, which will autodetect the target output location and whether or not it is capable of handling color escape codes.

-f, --format <text | json> - The printed output format. Defaults to text.

--include-internal - Include Modality's internal entities.

--using <sut name> - Use the given SUT rather than the default one.

# modality sut component list

Command: modality sut component list

List components defined in a particular SUT. If no SUT is specified with the --using flag the default SUT will be used.

# Example

$ modality sut component list
NAME                TAGS  PROBES  EVENTS
consumer-component  []    1       5
monitor-component   []    1       8
producer-component  []    1       5

# Options

--color <auto | always | never> - Whether to color the output. Default is auto, which will autodetect the target output location and whether or not it is capable of handling color escape codes.

--include-internal - Include Modality's internal components.

--using <sut name> - Use the given SUT rather than the default one.

-v, -vv, --verbose - Provide (more) verbose output (-v, -vv).

# modality sut create

Command: modality sut create <sut definition path>

Add a new SUT by giving Modality a path to a directory containing a SUT Definition: a SUT.toml file and component directories.

# Example

$ modality sut create .

# Options

<sut definition path> - Path to a directory containing a SUT.toml file and component directories.

# modality sut delete

Command: modality sut delete <sut name>

Remove the given SUT.

# Example

$ modality sut delete example-sut

# Options

<sut name> - Name of the SUT to delete.

--force - Bypass the user input confirmation check.

# modality sut event

Command: modality sut event

List and inspect event definitions for a particular SUT. Subcommands:

# modality sut event inspect

Command: modality sut event inspect

Print the definition of the given event in a particular SUT. If no SUT is specified with the --using flag the default SUT will be used.

# Example

$ modality sut event inspect SAMPLED
Name: SAMPLED
Description: Producer sampled raw measurement
ID: 3
Type Hint: I8
Kind: event
Component: producer-component
Source: c-example/src/producer/main.c#L131
Tags: [measurement, producer, sample]

# Options

<name | id> - Identifier for the event. Event ID can be found with modality sut event list -vvv.

--color <auto | always | never> - Whether to color the output. Default is auto, which will autodetect the target output location and whether or not it is capable of handling color escape codes.

-f, --format <text | json> - The printed output format. Defaults to text.

--include-internal - Include Modality's internal entities in the output.

--using <sut name> - Use the given SUT rather than the default one.

# modality sut event list

Command: modality sut event list

List all events defined in a particular SUT. If no SUT is specified with the --using flag the default SUT will be used.

# Example

$ modality sut event list
NAME                 TAGS
CONSUMER_REGISTERED  [heartbeat, monitor]
CONSUMER_TIMEOUT     [heartbeat, monitor, timeout]
DEINIT               [producer]
DEINIT               [monitor]
DEINIT               [consumer]
HEARTBEAT_ID_CHECK   [heartbeat, monitor]
INIT                 [producer]
INIT                 [monitor]
INIT                 [consumer]
PRODUCER_REGISTERED  [heartbeat, monitor]
PRODUCER_TIMEOUT     [heartbeat, monitor, timeout]
RECVD_MSG            [communication, heartbeat, monitor]
RECVD_MSG            [communication, consumer, measurement]
SAMPLED              [measurement, producer, sample]
SENT_HEARTBEAT       [communication, heartbeat, producer]
SENT_HEARTBEAT       [communication, consumer, heartbeat]
SENT_MEASUREMENT     [communication, measurement, producer]
TASK_LOOP            [consumer, process-loop]

# Options

--color <auto | always | never> - Whether to color the output. Default is auto, which will autodetect the target output location and whether or not it is capable of handling color escape codes.

--include-internal - Include Modality's internal events.

--using <sut name> - Use the given SUT rather than the default one.

-v, -vv, -vvv, --verbose - Provide (more) verbose output (-v, -vv, -vvv).

# modality sut inspect

Command: modality sut inspect <sut name>

Print detailed information about the given SUT and the entities defined within it.

# Example

$ modality sut inspect example-sut
Name: example-sut
Created at: 2022-01-18 09:46:30 UTC
Created by: example-user
Tags: [consumer, monitor, producer]
Components:
  monitor-component
  producer-component
  consumer-component
Probes:
  CONSUMER
  MONITOR
  PRODUCER
Events:
  INIT
  DEINIT
  SAMPLED
  SENT_MEASUREMENT
  SENT_HEARTBEAT
  INIT
  DEINIT
  RECVD_MSG
  HEARTBEAT_ID_CHECK
  PRODUCER_REGISTERED
  CONSUMER_REGISTERED
  PRODUCER_TIMEOUT
  CONSUMER_TIMEOUT
  INIT
  DEINIT
  TASK_LOOP
  RECVD_MSG
  SENT_HEARTBEAT
Mutators:
  sample-data-mutator

# Options

<sut name> - Name of the SUT to inspect.

--color <auto | always | never> - Whether to color the output. Default is auto, which will autodetect the target output location and whether or not it is capable of handling color escape codes.

-f, --format <text | json> - The printed output format. Defaults to text.

--include-internal - Include Modality's internal events, probes, and/or components.

# modality sut list

Command: modality sut list

List all known SUTs. Note that the number of components shown includes Modality's internal component.

# Example

$ modality sut list
NAME         TAGS                           COMPONENTS  SESSIONS
example-sut  [consumer, monitor, producer]  4           1

# Options

--color <auto | always | never> - Whether to color the output. Default is auto, which will autodetect the target output location and whether or not it is capable of handling color escape codes.

-v, --verbose - Provide verbose output.

# modality sut mutator

Command: modality sut mutator

List and inspect mutator definitions for a particular SUT. Subcommands:

# modality sut mutator inspect

Command: modality sut mutator inspect <mutator name | id>

Print the definition of the given mutator in a particular SUT. If no SUT is specified with the --using flag the default SUT will be used.

# Example

$ modality sut mutator inspect sample-data-mutator
Name: sample-data-mutator
ID Hash: 931521712542889512
Source: src/producer/main.c#L141
Tags: [sample]
Probes:
  PRODUCER
Parameters:
  Name: sample
    Type: i8
    Minimum Effect Value: 0
    Nominal: [-50..50]
    Safety: [-120..120]
    Hard: [-128..127]mo

# Options

<mutator name | id> - Identifier for the mutator. Mutator ID can be found with modality sut mutator list -vv.

--color <auto | always | never> - Whether to color the output. Default is auto, which will autodetect the target output location and whether or not it is capable of handling color escape codes.

-f, --format <text | json> - The printed output format. Defaults to text.

--include-internal - Include Modality's internal entities in the output.

--using <sut name> - Use the given SUT rather than the default one.

# modality sut mutator list

Command: modality sut mutator list

List mutators in a particular SUT. If no SUT is specified with the --using flag the default SUT will be used.

# Example

$ modality sut mutator list -v
NAME                 TAGS      PROBES      SOURCE
sample-data-mutator  [sample]  [PRODUCER]  src/producer/main.c#L141

# Options

--color <auto | always | never> - Whether to color the output. Default is auto, which will autodetect the target output location and whether or not it is capable of handling color escape codes.

--include-internal - Include Modality's internal entities in the output.

--using <sut name> - Use the given SUT rather than the default one.

-v, -vv, --verbose - Provide (more) verbose output (-v, -vv).

# modality sut probe

Command: modality sut probe

List and inspect probe definitions for a particular SUT. Subcommands:

# modality sut probe inspect

Command: modality sut probe inspect <probe name | id>

Print the definition of the given probe in a particular SUT. If no SUT is specified with the --using flag the default SUT will be used.

# Example

$ modality sut probe inspect CONSUMER
Name: CONSUMER
Description: Consumer probe
ID: 165924670
Component: consumer-component
Source: c-example/src/consumer/main.c#L66
Tags: [c-example, consumer]

# Options

<probe name | id> - Identifier for the probe. Probe ID can be found with modality sut probe list -vv.

--color <auto | always | never> - Whether to color the output. Default is auto, which will autodetect the target output location and whether or not it is capable of handling color escape codes.

-f, --format <text | json> - The printed output format. Defaults to text.

--include-internal - Include Modality's internal entities.

--using <sut name> - Use the given SUT rather than the default one.

# modality sut probe list

Command: modality sut probe list

List probes defined in a particular SUT. If no SUT is specified with the --using flag the default SUT will be used.

# Example

$ modality sut probe list
NAME      TAGS
CONSUMER  [c-example, consumer]
MONITOR   [c-example, monitor]
PRODUCER  [c-example, producer]

# Options

--color <auto | always | never> - Whether to color the output. Default is auto, which will autodetect the target output location and whether or not it is capable of handling color escape codes.

--include-internal - Include Modality's internal probes.

--using <sut name> - Use the given SUT rather than the default one.

-v, -vv, --verbose - Provide (more) verbose output (-v, -vv).

# modality sut tag list

Command: modality sut tag list

List the tags associated with a particular SUT. If no SUT is specified with the --using flag the default SUT will be used.

# Example

$ modality sut tag list
TAGS
consumer
monitor
producer

# Options

-f, --format <text | json> - The printed output format. Defaults to text.

--using <sut name> - Use the given SUT rather than the default one.

# modality sut use

Command: modality sut use <sut name>

Set the default SUT. Many commands implicitly require a SUT—these commands will use the default SUT unless you specify a different one.

# Example

$ modality sut use example-sut

# Options

<sut name> - Name of the SUT to use as default.

--force - Use the given name as the default SUT even if it doesn't currently exist.