Configuration Values
cargo-maelstrom supports the following configuration values:
| Value | Type | Description | Default |
|---|---|---|---|
cache-size | string | target cache disk space usage | "1 GB" |
inline-limit | string | maximum amount of captured standard output error | "1 MB" |
slots | number | job slots available | 1 per CPU |
container-image-depot-root | string | container images cache directory | $XDG_CACHE_HOME/maelstrom/containers |
accept-invalid-remote-container-tls-certs | boolean | allow invalid container registry certificates | false |
broker | string | address of broker | standalone mode |
log-level | string | minimum log level | "info" |
quiet | boolean | don't output per-test information | false |
timeout | string | override timeout value tests | don't override |
features | string | comma-separated list of features to activate | Cargo's default |
all-features | boolean | activate all available features | Cargo's default |
no-default-features | boolean | do not activate the default feature | Cargo's default |
profile | string | build artifacts with the specified profile | Cargo's default |
target | string | build for the target triple | Cargo's default |
target-dir | string | directory for all generated artifacts | Cargo's default |
manifest-path | string | path to Cargo.toml | Cargo's default |
frozen | boolean | require Cargo.lock and cache are up to date | Cargo's default |
locked | boolean | require Cargo.lock is up to date | Cargo's default |
offline | boolean | run without Cargo accessing the network | Cargo's default |
cache-size
This is a local-worker setting, common to all clients. See here for details.
inline-limit
This is a local-worker setting, common to all clients. See here for details.
slots
This is a local-worker setting, common to all clients. See here for details.
container-image-depot-root
This is a container-image setting, common to all clients. See here for details.
accept-invalid-remote-container-tls-certs
This is a container-image setting, common to all clients. See here for details.
broker
The broker configuration value specifies the socket address of the broker.
This configuration value is optional. If not provided, cargo-maelstrom will run in standalone
mode.
Here are some example value socket addresses:
broker.example.org:1234192.0.2.3:1234[2001:db8::3]:1234
log-level
This is a setting common to all Maelstrom programs. See here for details.
cargo-maelstrom always prints log
messages to stdout. It also passes
the log level to maelstrom-client, which will log its output in a file named
client-process.log in the state directory.
quiet
The quiet configuration value, if set to true, causes cargo-maelstrom to be more more succinct
with its output. If cargo-maelstrom
is outputting to a terminal, it will display a single-line progress bar
indicating all test state, then print a summary at the end. If not outputting
to a terminal, it will only print a summary at the end.
timeout
The optional timeout configuration value provides the
timeout value to use for all tests. This will override
any value set in cargo-maelstrom.toml.
Cargo Settings
cargo-maelstrom shells out to
cargo to get metadata about tests and to build the test artifacts. For the
former, it uses cargo metadata. For the latter, it uses cargo test --no-run.
cargo-maelstrom supports a number
of command-line options that are passed through directly to cargo. It does
not inspect these values at all.
| Command-Line Option | Cargo Grouping | Passed To |
|---|---|---|
features | feature selection | test and metadata |
all-features | feature selection | test and metadata |
no-default-features | feature selection | test and metadata |
profile | compilation | test |
target | compilation | test |
target-dir | output | test |
manifest-path | manifest | test and metadata |
frozen | manifest | test and metadata |
locked | manifest | test and metadata |
offline | manifest | test and metadata |
cargo-maelstrom doesn't accept
multiple instances of the --features command-line option. Instead, combine
the features into a single, comma-separated argument like this:
--features=feat1,feat2,feat3.
cargo-maelstrom doesn't accept the
--release alias. Use --profile=release instead.