Configuration Values

maelstrom-go-test supports the following configuration values:

ValueTypeDescriptionDefault
cache-sizestringtarget cache disk space usage"1 GB"
inline-limitstringmaximum amount of captured standard output error"1 MB"
slotsnumberjob slots available1 per CPU
container-image-depot-rootstringcontainer images cache directory$XDG_CACHE_HOME/maelstrom/containers
accept-invalid-remote-container-tls-certsbooleanallow invalid container registry certificatesfalse
brokerstringaddress of brokerstandalone mode
log-levelstringminimum log level"info"
quietbooleandon't output per-test informationfalse
uistringUI style to use"auto"
repeatnumberhow many times to run each test1
timeoutstringoverride timeout value testsdon't override
vetstringcontrol go test -vet flag_valuego test's default
shortbooleantells long running tests to shorten their timesfalse
fullpathbooleanshows the full file name in error messagesfalse
extra-test-binary-argslistpass arbitrary arguments to test binaryno args
stop-afternumberstop after given number of failuresnever stop

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, maelstrom-go-test will run in standalone mode.

Here are some example value socket addresses:

  • broker.example.org:1234
  • 192.0.2.3:1234
  • [2001:db8::3]:1234

log-level

This is a setting common to all Maelstrom programs. See here for details.

maelstrom-go-test 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 maelstrom-go-test to be more more succinct with its output. If maelstrom-go-test 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.

ui

The ui configuration value controls the UI style used. It must be one of auto, fancy, quiet, or simple. The default value is auto.

StyleDescription
simpleThis is our original UI. It prints one line per test result (unless quiet is true), and will display some progress bars if standard output is a TTY.
fancyThis is our new UI. It has a rich TTY experience with a lot of status updates. It is incompatible with quiet or with non-TTY standard output.
quietMinimal UI with only a single progress bar
autoWill choose fancy if standard output is a TTY and quiet isn't true. Otherwise, it will choose simple.

repeat

The repeat configuration value specifies how many times each test will be run. It must be a nonnegative integer. On the command line, --loop can be used as an alias for --repeat.

timeout

The optional timeout configuration value provides the timeout value to use for all tests. This will override any value set in maelstrom-go-test.toml.

vet

This configuration controls the value of the -vet flag that is passed to go test. If not provided, the flag isn't provided to go test. See go help test for more information.

short

Tells long running tests to shorten their run time. This flag is forwarded to test binaries. See go help testflag for more information.

fullpath

Shows the full file name in error messages. This flag is forwarded to test binaries. See go help testflag for more information.

extra-test-binary-args

This allows passing of arbitrary command-line arguments to the Go test binary. See go help testflag for what are accepted normally. Since these arguments are passed directly and not interpreted, this can also be used for custom command-line arguments interpreted by the test.

These arguments are added last after short and fullpath. It could be possible to interfere with the operation of those flags by the addition of certain arguments.

When provided on the command-line these arguments are positional and come after any other arguments. To avoid ambiguity, -- should be used to denote the end of normal command-line arguments, and the beginning these arguments like follows:

maelstrom-go-test -- -test.parallel 12

stop-after

This optional configuration value if provided gives a limit on the number of failure to tolerate. If the limit is reached, cargo-maelstrom exits prematurely.