pub struct NextestConfig { /* private fields */ }Expand description
Overall configuration for nextest.
This is the root data structure for nextest configuration. Most runner-specific configuration is
managed through profiles, obtained through the profile
method.
For more about configuration, see Configuration in the nextest book.
Implementations§
Source§impl NextestConfig
impl NextestConfig
Sourcepub const CONFIG_PATH: &'static str = ".config/nextest.toml"
pub const CONFIG_PATH: &'static str = ".config/nextest.toml"
The default location of the config within the path: .config/nextest.toml, used to read the
config from the given directory.
Sourcepub const DEFAULT_CONFIG: &'static str = "# This is the default config used by nextest. It is embedded in the binary at\n# build time. It may be used as a template for .config/nextest.toml.\n\n[store]\n# The directory under the workspace root at which nextest-related files are\n# written. Profile-specific storage is currently written to dir/<profile-name>.\ndir = \"target/nextest\"\n\n# This section defines the default nextest profile. Custom profiles are layered\n# on top of the default profile.\n[profile.default]\n# The set of tests run by `cargo nextest run` by default.\ndefault-filter = \"all()\"\n\n# \"retries\" defines the number of times a test should be retried. If set to a\n# non-zero value, tests that succeed on a subsequent attempt will be marked as\n# flaky. Can be overridden through the `--retries` option.\n# Examples\n# * retries = 3\n# * retries = { backoff = \"fixed\", count = 2, delay = \"1s\" }\n# * retries = { backoff = \"exponential\", count = 10, delay = \"1s\", jitter = true, max-delay = \"10s\" }\nretries = 0\n\n# Controls whether a flaky test is treated as passing or failing.\nflaky-result = \"pass\"\n\n# The number of threads to run tests with. Supported values are either an integer or\n# the string \"num-cpus\". Can be overridden through the `--test-threads` option.\ntest-threads = \"num-cpus\"\n\n# The number of threads required for each test. This is generally used in overrides to\n# mark certain tests as heavier than others. However, it can also be set as a global parameter.\nthreads-required = 1\n\n# Extra arguments to pass in to the test binary at runtime. Intended primarily for\n# communication with custom test harnesses -- use with caution!\nrun-extra-args = []\n\n# Show these test statuses in the output.\n#\n# The possible values this can take are:\n# * none: no output\n# * fail: show failed (including exec-failed) tests\n# * retry: show flaky and retried tests\n# * slow: show slow tests\n# * pass: show passed tests\n# * skip: show skipped tests (most useful for CI)\n# * all: all of the above\n#\n# Each value includes all the values above it; for example, \"slow\" includes\n# failed and retried tests.\n#\n# Can be overridden through the `--status-level` flag.\nstatus-level = \"pass\"\n\n# Similar to status-level, show these test statuses at the end of the run.\nfinal-status-level = \"flaky\"\n\n# \"failure-output\" defines when standard output and standard error for failing tests are produced.\n# Accepted values are\n# * \"immediate\": output failures as soon as they happen\n# * \"final\": output failures at the end of the test run\n# * \"immediate-final\": output failures as soon as they happen and at the end of\n# the test run; combination of \"immediate\" and \"final\"\n# * \"never\": don\'t output failures at all\n#\n# For large test suites and CI it is generally useful to use \"immediate-final\".\n#\n# Can be overridden through the `--failure-output` option.\nfailure-output = \"immediate\"\n\n# \"success-output\" controls production of standard output and standard error on success. This should\n# generally be set to \"never\".\nsuccess-output = \"never\"\n\n# Cancel the test run on the first failure. For CI runs, consider setting this\n# to false.\n# Accepted values are\n# * true: cancel the test run on the first failure (waits for running tests to complete)\n# * false: continue running tests even after a failure\n# * { max-fail = 10 }: cancel the test run after 10 failures (waits for running tests)\n# * { max-fail = 10, terminate = \"wait\" }: same as above (explicit)\n# * { max-fail = 10, terminate = \"immediate\" }: cancel and terminate running tests immediately\n# * { max-fail = \"all\" }: continue running tests even after a failure\nfail-fast = true\n\n# Treat a test that takes longer than the configured \'period\' as slow, and print a message.\n# See <https://nexte.st/docs/features/slow-tests> for more information.\n#\n# Optional: specify the parameter \'terminate-after\' with a non-zero integer,\n# which will cause slow tests to be terminated after the specified number of\n# periods have passed.\n# Example: slow-timeout = { period = \"60s\", terminate-after = 2 }\n#\n# The \'on-timeout\' parameter controls whether timeouts are treated as failures (the default)\n# or successes.\n# Example: slow-timeout = { period = \"60s\", on-timeout = \"pass\" }\nslow-timeout = { period = \"60s\", on-timeout = \"fail\" }\n\n# Treat a benchmark that takes longer than the configured \'period\' as slow, and print a message.\n# See <https://nexte.st/docs/features/slow-tests> for more information.\n#\n# Optional: specify the parameter \'terminate-after\' with a non-zero integer,\n# which will cause slow benchmarks to be terminated after the specified number of\n# periods have passed.\n# Example: bench.slow-timeout = { period = \"60s\", terminate-after = 2 }\n#\n# This is a separate configuration for benchmarks, because benchmarks are often\n# expected to take longer than tests.\n#\n# Defaults to 30 years, which is a large enough value to feel \"infinite\" without\n# running into overflows on various platforms.\nbench.slow-timeout = { period = \"30y\" }\n\n# Stop all benchmarks after the configured global timeout.\n#\n# This is a separate configuration for benchmarks, because benchmarks are often\n# expected to take longer than tests.\n#\n# Defaults to 30 years, which is a large enough value to feel \"infinite\" without\n# running into overflows on various platforms.\nbench.global-timeout = \"30y\"\n\n# Treat a test as leaky if after the process is shut down, standard output and standard error\n# aren\'t closed within this duration.\n#\n# This usually happens in case of a test that creates a child process and lets it inherit those\n# handles, but doesn\'t clean the child process up (especially when it fails).\n#\n# See <https://nexte.st/docs/features/leaky-tests> for more information.\nleak-timeout = \"200ms\"\n\n# Stop all tests after the configured global timeout.\n#\n# Defaults to 30 years, which is a large enough value to feel \"infinite\" without\n# running into overflows on various platforms.\nglobal-timeout = \"30y\"\n\n# `nextest archive` automatically includes any build output required by a standard build.\n# However sometimes extra non-standard files are required.\n# To address this, \"archive.include\" specifies additional paths that will be included in the archive.\narchive.include = [\n # Examples:\n #\n # { path = \"application-data\", relative-to = \"target\" },\n # { path = \"data-from-some-dependency/file.txt\", relative-to = \"target\" },\n #\n # In the above example:\n # * the directory and its contents at \"target/application-data\" will be included recursively in the archive.\n # * the file \"target/data-from-some-dependency/file.txt\" will be included in the archive.\n]\n\n[profile.default.junit]\n# Output a JUnit report into the given file inside \'store.dir/<profile-name>\'.\n# If unspecified, JUnit is not written out.\n\n# path = \"junit.xml\"\n\n# The name of the top-level \"report\" element in JUnit report. If aggregating\n# reports across different test runs, it may be useful to provide separate names\n# for each report.\nreport-name = \"nextest-run\"\n\n# Whether standard output and standard error for passing tests should be stored in the JUnit report.\n# Output is stored in the <system-out> and <system-err> elements of the <testcase> element.\nstore-success-output = false\n\n# Whether standard output and standard error for failing tests should be stored in the JUnit report.\n# Output is stored in the <system-out> and <system-err> elements of the <testcase> element.\n#\n# Note that if a description can be extracted from the output, it is always stored in the\n# <description> element.\nstore-failure-output = true\n\n# Controls how flaky-fail tests are reported in the JUnit report. \"failure\" reports\n# them as failures with <failure> and <flakyFailure> elements; \"success\" reports them\n# as successes, identical to flaky-pass tests.\nflaky-fail-status = \"failure\"\n\n# This profile is activated if MIRI_SYSROOT is set.\n[profile.default-miri]\n"
pub const DEFAULT_CONFIG: &'static str = "# This is the default config used by nextest. It is embedded in the binary at\n# build time. It may be used as a template for .config/nextest.toml.\n\n[store]\n# The directory under the workspace root at which nextest-related files are\n# written. Profile-specific storage is currently written to dir/<profile-name>.\ndir = \"target/nextest\"\n\n# This section defines the default nextest profile. Custom profiles are layered\n# on top of the default profile.\n[profile.default]\n# The set of tests run by `cargo nextest run` by default.\ndefault-filter = \"all()\"\n\n# \"retries\" defines the number of times a test should be retried. If set to a\n# non-zero value, tests that succeed on a subsequent attempt will be marked as\n# flaky. Can be overridden through the `--retries` option.\n# Examples\n# * retries = 3\n# * retries = { backoff = \"fixed\", count = 2, delay = \"1s\" }\n# * retries = { backoff = \"exponential\", count = 10, delay = \"1s\", jitter = true, max-delay = \"10s\" }\nretries = 0\n\n# Controls whether a flaky test is treated as passing or failing.\nflaky-result = \"pass\"\n\n# The number of threads to run tests with. Supported values are either an integer or\n# the string \"num-cpus\". Can be overridden through the `--test-threads` option.\ntest-threads = \"num-cpus\"\n\n# The number of threads required for each test. This is generally used in overrides to\n# mark certain tests as heavier than others. However, it can also be set as a global parameter.\nthreads-required = 1\n\n# Extra arguments to pass in to the test binary at runtime. Intended primarily for\n# communication with custom test harnesses -- use with caution!\nrun-extra-args = []\n\n# Show these test statuses in the output.\n#\n# The possible values this can take are:\n# * none: no output\n# * fail: show failed (including exec-failed) tests\n# * retry: show flaky and retried tests\n# * slow: show slow tests\n# * pass: show passed tests\n# * skip: show skipped tests (most useful for CI)\n# * all: all of the above\n#\n# Each value includes all the values above it; for example, \"slow\" includes\n# failed and retried tests.\n#\n# Can be overridden through the `--status-level` flag.\nstatus-level = \"pass\"\n\n# Similar to status-level, show these test statuses at the end of the run.\nfinal-status-level = \"flaky\"\n\n# \"failure-output\" defines when standard output and standard error for failing tests are produced.\n# Accepted values are\n# * \"immediate\": output failures as soon as they happen\n# * \"final\": output failures at the end of the test run\n# * \"immediate-final\": output failures as soon as they happen and at the end of\n# the test run; combination of \"immediate\" and \"final\"\n# * \"never\": don\'t output failures at all\n#\n# For large test suites and CI it is generally useful to use \"immediate-final\".\n#\n# Can be overridden through the `--failure-output` option.\nfailure-output = \"immediate\"\n\n# \"success-output\" controls production of standard output and standard error on success. This should\n# generally be set to \"never\".\nsuccess-output = \"never\"\n\n# Cancel the test run on the first failure. For CI runs, consider setting this\n# to false.\n# Accepted values are\n# * true: cancel the test run on the first failure (waits for running tests to complete)\n# * false: continue running tests even after a failure\n# * { max-fail = 10 }: cancel the test run after 10 failures (waits for running tests)\n# * { max-fail = 10, terminate = \"wait\" }: same as above (explicit)\n# * { max-fail = 10, terminate = \"immediate\" }: cancel and terminate running tests immediately\n# * { max-fail = \"all\" }: continue running tests even after a failure\nfail-fast = true\n\n# Treat a test that takes longer than the configured \'period\' as slow, and print a message.\n# See <https://nexte.st/docs/features/slow-tests> for more information.\n#\n# Optional: specify the parameter \'terminate-after\' with a non-zero integer,\n# which will cause slow tests to be terminated after the specified number of\n# periods have passed.\n# Example: slow-timeout = { period = \"60s\", terminate-after = 2 }\n#\n# The \'on-timeout\' parameter controls whether timeouts are treated as failures (the default)\n# or successes.\n# Example: slow-timeout = { period = \"60s\", on-timeout = \"pass\" }\nslow-timeout = { period = \"60s\", on-timeout = \"fail\" }\n\n# Treat a benchmark that takes longer than the configured \'period\' as slow, and print a message.\n# See <https://nexte.st/docs/features/slow-tests> for more information.\n#\n# Optional: specify the parameter \'terminate-after\' with a non-zero integer,\n# which will cause slow benchmarks to be terminated after the specified number of\n# periods have passed.\n# Example: bench.slow-timeout = { period = \"60s\", terminate-after = 2 }\n#\n# This is a separate configuration for benchmarks, because benchmarks are often\n# expected to take longer than tests.\n#\n# Defaults to 30 years, which is a large enough value to feel \"infinite\" without\n# running into overflows on various platforms.\nbench.slow-timeout = { period = \"30y\" }\n\n# Stop all benchmarks after the configured global timeout.\n#\n# This is a separate configuration for benchmarks, because benchmarks are often\n# expected to take longer than tests.\n#\n# Defaults to 30 years, which is a large enough value to feel \"infinite\" without\n# running into overflows on various platforms.\nbench.global-timeout = \"30y\"\n\n# Treat a test as leaky if after the process is shut down, standard output and standard error\n# aren\'t closed within this duration.\n#\n# This usually happens in case of a test that creates a child process and lets it inherit those\n# handles, but doesn\'t clean the child process up (especially when it fails).\n#\n# See <https://nexte.st/docs/features/leaky-tests> for more information.\nleak-timeout = \"200ms\"\n\n# Stop all tests after the configured global timeout.\n#\n# Defaults to 30 years, which is a large enough value to feel \"infinite\" without\n# running into overflows on various platforms.\nglobal-timeout = \"30y\"\n\n# `nextest archive` automatically includes any build output required by a standard build.\n# However sometimes extra non-standard files are required.\n# To address this, \"archive.include\" specifies additional paths that will be included in the archive.\narchive.include = [\n # Examples:\n #\n # { path = \"application-data\", relative-to = \"target\" },\n # { path = \"data-from-some-dependency/file.txt\", relative-to = \"target\" },\n #\n # In the above example:\n # * the directory and its contents at \"target/application-data\" will be included recursively in the archive.\n # * the file \"target/data-from-some-dependency/file.txt\" will be included in the archive.\n]\n\n[profile.default.junit]\n# Output a JUnit report into the given file inside \'store.dir/<profile-name>\'.\n# If unspecified, JUnit is not written out.\n\n# path = \"junit.xml\"\n\n# The name of the top-level \"report\" element in JUnit report. If aggregating\n# reports across different test runs, it may be useful to provide separate names\n# for each report.\nreport-name = \"nextest-run\"\n\n# Whether standard output and standard error for passing tests should be stored in the JUnit report.\n# Output is stored in the <system-out> and <system-err> elements of the <testcase> element.\nstore-success-output = false\n\n# Whether standard output and standard error for failing tests should be stored in the JUnit report.\n# Output is stored in the <system-out> and <system-err> elements of the <testcase> element.\n#\n# Note that if a description can be extracted from the output, it is always stored in the\n# <description> element.\nstore-failure-output = true\n\n# Controls how flaky-fail tests are reported in the JUnit report. \"failure\" reports\n# them as failures with <failure> and <flakyFailure> elements; \"success\" reports them\n# as successes, identical to flaky-pass tests.\nflaky-fail-status = \"failure\"\n\n# This profile is activated if MIRI_SYSROOT is set.\n[profile.default-miri]\n"
Contains the default config as a TOML file.
Repository-specific configuration is layered on top of the default config.
Sourcepub const SCHEMA: &'static str = "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"NextestConfigDeserialize\",\n \"type\": \"object\",\n \"properties\": {\n \"experimental\": {\n \"description\": \"Enables experimental nextest features.\",\n \"$ref\": \"#/$defs/ExperimentalDeserialize\"\n },\n \"nextest-version\": {\n \"description\": \"The minimum required and recommended versions of nextest for this\\nconfiguration.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/NextestVersionDeserialize\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"profile\": {\n \"description\": \"Test profiles.\",\n \"type\": [\n \"object\",\n \"null\"\n ],\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/CustomProfileImpl\"\n }\n },\n \"script\": {\n \"description\": \"Deprecated location for setup scripts.\\n\\nNew configurations should use `[scripts.setup.<name>]` instead.\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/SetupScriptConfig\"\n }\n },\n \"scripts\": {\n \"description\": \"Setup and wrapper scripts.\",\n \"$ref\": \"#/$defs/ScriptConfig\"\n },\n \"store\": {\n \"description\": \"Configuration for the nextest store directory.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/StoreConfigImpl\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"test-groups\": {\n \"description\": \"Custom test groups for mutual exclusion and resource management.\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/TestGroupConfig\"\n }\n }\n },\n \"additionalProperties\": false,\n \"x-tombi-toml-version\": \"v1.1.0\",\n \"$defs\": {\n \"ArchiveConfig\": {\n \"description\": \"Configuration for archives.\",\n \"type\": \"object\",\n \"properties\": {\n \"include\": {\n \"description\": \"Files to include in the archive.\",\n \"type\": [\n \"array\",\n \"null\"\n ],\n \"items\": {\n \"$ref\": \"#/$defs/ArchiveInclude\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"ArchiveInclude\": {\n \"description\": \"Type for the archive-include key.\\n\\n# Notes\\n\\nThis is `deny_unknown_fields` because if we take additional arguments in the future, they\'re\\nlikely to change semantics in an incompatible way.\",\n \"type\": \"object\",\n \"properties\": {\n \"depth\": {\n \"description\": \"Maximum recursion depth.\",\n \"oneOf\": [\n {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n {\n \"type\": \"string\",\n \"enum\": [\n \"infinite\"\n ]\n }\n ]\n },\n \"on-missing\": {\n \"description\": \"What to do if the path is missing.\",\n \"$ref\": \"#/$defs/ArchiveIncludeOnMissing\"\n },\n \"path\": {\n \"description\": \"Relative path to include.\",\n \"type\": \"string\"\n },\n \"relative-to\": {\n \"description\": \"Base directory that `path` is relative to.\",\n \"$ref\": \"#/$defs/ArchiveRelativeTo\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"path\",\n \"relative-to\"\n ]\n },\n \"ArchiveIncludeOnMissing\": {\n \"description\": \"What to do when an archive-include path is missing.\",\n \"oneOf\": [\n {\n \"description\": \"Ignore and continue.\",\n \"type\": \"string\",\n \"const\": \"ignore\"\n },\n {\n \"description\": \"Warn and continue.\",\n \"type\": \"string\",\n \"const\": \"warn\"\n },\n {\n \"description\": \"Produce an error.\",\n \"type\": \"string\",\n \"const\": \"error\"\n }\n ]\n },\n \"ArchiveRelativeTo\": {\n \"description\": \"Defines the base of the path\",\n \"oneOf\": [\n {\n \"description\": \"Path starts at the target directory\",\n \"type\": \"string\",\n \"const\": \"target\"\n }\n ]\n },\n \"BenchConfig\": {\n \"description\": \"Benchmark-specific configuration (deserialized form with optional fields).\",\n \"type\": \"object\",\n \"properties\": {\n \"global-timeout\": {\n \"description\": \"Global timeout for benchmarks.\",\n \"type\": [\n \"string\",\n \"null\"\n ]\n },\n \"slow-timeout\": {\n \"description\": \"Slow timeout for benchmarks.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/SlowTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"ConfigIdentifier\": {\n \"description\": \"An identifier used in configuration.\\n\\nThe identifier goes through some basic validation:\\n* conversion to NFC\\n* ensuring that it is of the form (XID_Start)(XID_Continue | -)*\\n\\nIdentifiers can also be tool identifiers, which are of the form \\\"@tool:tool-name:identifier\\\".\",\n \"type\": \"string\"\n },\n \"CustomProfileImpl\": {\n \"type\": \"object\",\n \"properties\": {\n \"archive\": {\n \"description\": \"Archive configuration for this profile.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/ArchiveConfig\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"bench\": {\n \"description\": \"Benchmark-specific configuration.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/BenchConfig\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"default-filter\": {\n \"description\": \"The default set of tests run by `cargo nextest run`.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"fail-fast\": {\n \"description\": \"Controls when to stop running tests after failures.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MaxFail\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"failure-output\": {\n \"description\": \"When to display output for failed tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestOutputDisplay\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"final-status-level\": {\n \"description\": \"Level of status information to display in the final summary.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/FinalStatusLevel\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"flaky-result\": {\n \"description\": \"Whether to treat flaky tests as passing or failing.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/FlakyResult\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"global-timeout\": {\n \"description\": \"A global timeout for test execution.\",\n \"type\": [\n \"string\",\n \"null\"\n ]\n },\n \"inherits\": {\n \"description\": \"The profile to inherit configuration settings from.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"junit\": {\n \"description\": \"JUnit output configuration.\",\n \"$ref\": \"#/$defs/JunitImpl\"\n },\n \"leak-timeout\": {\n \"description\": \"Time to wait for child processes to exit after a test completes.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/LeakTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"overrides\": {\n \"description\": \"Per-test setting overrides.\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/DeserializedOverride\"\n }\n },\n \"retries\": {\n \"description\": \"Retry policy for failed tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/RetryPolicy\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"run-extra-args\": {\n \"description\": \"Extra arguments to pass to test binaries.\",\n \"type\": [\n \"array\",\n \"null\"\n ],\n \"default\": null,\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"scripts\": {\n \"description\": \"Profile-specific script configuration.\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/DeserializedProfileScriptConfig\"\n }\n },\n \"slow-timeout\": {\n \"description\": \"Time after which tests are considered slow, and timeout configuration.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/SlowTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"status-level\": {\n \"description\": \"Level of status information to display during test runs.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/StatusLevel\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"success-output\": {\n \"description\": \"When to display output for successful tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestOutputDisplay\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"test-threads\": {\n \"description\": \"Number of threads to run tests with.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestThreads\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"threads-required\": {\n \"description\": \"Number of threads each test requires.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/ThreadsRequired\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"CustomTestGroup\": {\n \"description\": \"Represents a custom test group.\",\n \"$ref\": \"#/$defs/ConfigIdentifier\"\n },\n \"DeserializedJunitOutput\": {\n \"type\": \"object\",\n \"properties\": {\n \"flaky-fail-status\": {\n \"description\": \"How flaky-fail tests are reported in the JUnit XML report.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/JunitFlakyFailStatus\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"store-failure-output\": {\n \"description\": \"Whether to store failed test output in the JUnit XML report.\",\n \"type\": [\n \"boolean\",\n \"null\"\n ]\n },\n \"store-success-output\": {\n \"description\": \"Whether to store successful test output in the JUnit XML report.\",\n \"type\": [\n \"boolean\",\n \"null\"\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"DeserializedOverride\": {\n \"description\": \"Deserialized form of profile overrides before compilation.\",\n \"type\": \"object\",\n \"properties\": {\n \"bench\": {\n \"description\": \"Benchmark-specific overrides.\",\n \"$ref\": \"#/$defs/DeserializedOverrideBench\"\n },\n \"default-filter\": {\n \"description\": \"The default filter for tests. Only supported if platform is specified\\nbut filter is not.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"failure-output\": {\n \"description\": \"Failure output display for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestOutputDisplay\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"filter\": {\n \"description\": \"The filterset to match against.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"flaky-result\": {\n \"description\": \"Whether to treat flaky tests as passing or failing.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/FlakyResult\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"junit\": {\n \"description\": \"JUnit output configuration for matching tests.\",\n \"$ref\": \"#/$defs/DeserializedJunitOutput\"\n },\n \"leak-timeout\": {\n \"description\": \"Leak timeout for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/LeakTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"platform\": {\n \"description\": \"The host and/or target platforms to match against.\",\n \"$ref\": \"#/$defs/PlatformStrings\"\n },\n \"priority\": {\n \"description\": \"Test priority.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestPriority\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"retries\": {\n \"description\": \"Retry policy for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/RetryPolicy\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"run-extra-args\": {\n \"description\": \"Extra arguments to pass to the test runner.\",\n \"type\": [\n \"array\",\n \"null\"\n ],\n \"default\": null,\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"slow-timeout\": {\n \"description\": \"Slow timeout for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/SlowTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"success-output\": {\n \"description\": \"Success output display for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestOutputDisplay\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"test-group\": {\n \"description\": \"Test group to put matching tests in.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/CustomTestGroup\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"threads-required\": {\n \"description\": \"The number of threads required for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/ThreadsRequired\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"DeserializedOverrideBench\": {\n \"description\": \"Deserialized form of benchmark-specific overrides.\",\n \"type\": \"object\",\n \"properties\": {\n \"slow-timeout\": {\n \"description\": \"Slow timeout for matching benchmarks.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/SlowTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"DeserializedProfileScriptConfig\": {\n \"description\": \"Deserialized form of profile-specific script configuration before compilation.\",\n \"type\": \"object\",\n \"properties\": {\n \"filter\": {\n \"description\": \"The filterset to match against.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"list-wrapper\": {\n \"description\": \"The wrapper script to run at list time.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/ScriptId\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"platform\": {\n \"description\": \"The host and/or target platforms to match against.\",\n \"$ref\": \"#/$defs/PlatformStrings\"\n },\n \"run-wrapper\": {\n \"description\": \"The wrapper script to run at run time.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/ScriptId\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"setup\": {\n \"description\": \"The setup script or scripts to run.\",\n \"default\": [],\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/ScriptId\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/ScriptId\"\n }\n }\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"ExperimentalDeserialize\": {\n \"oneOf\": [\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"setup-scripts\",\n \"wrapper-scripts\",\n \"benchmarks\"\n ]\n }\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"benchmarks\": {\n \"type\": \"boolean\"\n },\n \"setup-scripts\": {\n \"type\": \"boolean\"\n },\n \"wrapper-scripts\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": true\n }\n ]\n },\n \"FinalStatusLevel\": {\n \"description\": \"Status level to show at the end of test runs in the reporter output.\\n\\nStatus levels are incremental.\\n\\nThis differs from [`StatusLevel`] in two ways:\\n* It has a \\\"flaky\\\" test indicator that\'s different from \\\"retry\\\" (though \\\"retry\\\" works as an alias.)\\n* It has a different ordering: skipped tests are prioritized over passing ones.\",\n \"oneOf\": [\n {\n \"description\": \"No output.\",\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"description\": \"Only output test failures.\",\n \"type\": \"string\",\n \"const\": \"fail\"\n },\n {\n \"description\": \"Output flaky tests.\",\n \"type\": \"string\",\n \"const\": \"flaky\"\n },\n {\n \"description\": \"Output information about slow tests, and all variants above.\",\n \"type\": \"string\",\n \"const\": \"slow\"\n },\n {\n \"description\": \"Output skipped tests in addition to all variants above.\",\n \"type\": \"string\",\n \"const\": \"skip\"\n },\n {\n \"description\": \"Output leaky tests in addition to all variants above.\",\n \"type\": \"string\",\n \"const\": \"leak\"\n },\n {\n \"description\": \"Output passing tests in addition to all variants above.\",\n \"type\": \"string\",\n \"const\": \"pass\"\n },\n {\n \"description\": \"Currently has the same meaning as [`Pass`](Self::Pass).\",\n \"type\": \"string\",\n \"const\": \"all\"\n }\n ]\n },\n \"FlakyResult\": {\n \"description\": \"Controls whether a flaky test is treated as a pass or a failure.\",\n \"oneOf\": [\n {\n \"description\": \"The test is marked as failed.\",\n \"type\": \"string\",\n \"const\": \"fail\"\n },\n {\n \"description\": \"The test is marked as passed.\",\n \"type\": \"string\",\n \"const\": \"pass\"\n }\n ]\n },\n \"JunitFlakyFailStatus\": {\n \"description\": \"Controls how flaky-fail tests are reported in JUnit XML output.\\n\\nFlaky-fail tests are tests that eventually passed on retry but are configured\\nwith `flaky-result = \\\"fail\\\"`. This setting controls whether they appear as\\nfailures or successes in the JUnit report.\",\n \"oneOf\": [\n {\n \"description\": \"Report flaky-fail tests as failures with `<failure>` and\\n`<flakyFailure>` elements.\",\n \"type\": \"string\",\n \"const\": \"failure\"\n },\n {\n \"description\": \"Report flaky-fail tests as successes, identical to flaky-pass tests.\",\n \"type\": \"string\",\n \"const\": \"success\"\n }\n ]\n },\n \"JunitImpl\": {\n \"type\": \"object\",\n \"properties\": {\n \"flaky-fail-status\": {\n \"description\": \"How flaky-fail tests are reported in the JUnit XML report.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/JunitFlakyFailStatus\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"path\": {\n \"description\": \"Path to write the JUnit XML report to. If unset, JUnit support is\\ndisabled.\",\n \"type\": \"string\",\n \"default\": null\n },\n \"report-name\": {\n \"description\": \"Name for the JUnit report.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"store-failure-output\": {\n \"description\": \"Whether to store failed test output in the JUnit XML report.\",\n \"type\": [\n \"boolean\",\n \"null\"\n ],\n \"default\": null\n },\n \"store-success-output\": {\n \"description\": \"Whether to store successful test output in the JUnit XML report.\",\n \"type\": [\n \"boolean\",\n \"null\"\n ],\n \"default\": null\n }\n },\n \"additionalProperties\": false\n },\n \"LeakTimeout\": {\n \"title\": \"LeakTimeout\",\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"period\": {\n \"type\": \"string\"\n },\n \"result\": {\n \"$ref\": \"#/$defs/LeakTimeoutResult\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"period\"\n ]\n }\n ]\n },\n \"LeakTimeoutResult\": {\n \"description\": \"The result of controlling leak timeout behavior.\",\n \"oneOf\": [\n {\n \"description\": \"The test is marked as failed.\",\n \"type\": \"string\",\n \"const\": \"fail\"\n },\n {\n \"description\": \"The test is marked as passed.\",\n \"type\": \"string\",\n \"const\": \"pass\"\n }\n ]\n },\n \"MaxFail\": {\n \"oneOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"max-fail\": {\n \"oneOf\": [\n {\n \"type\": \"integer\",\n \"minimum\": 1\n },\n {\n \"type\": \"string\",\n \"enum\": [\n \"all\"\n ]\n }\n ]\n },\n \"terminate\": {\n \"$ref\": \"#/$defs/TerminateMode\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"max-fail\"\n ]\n }\n ]\n },\n \"NextestVersionDeserialize\": {\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"recommended\": {\n \"type\": \"string\"\n },\n \"required\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"PlatformStrings\": {\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"host\": {\n \"type\": [\n \"string\",\n \"null\"\n ]\n },\n \"target\": {\n \"type\": [\n \"string\",\n \"null\"\n ]\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"RetryPolicy\": {\n \"title\": \"RetryPolicy\",\n \"oneOf\": [\n {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"backoff\": {\n \"type\": \"string\",\n \"const\": \"fixed\"\n },\n \"count\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"delay\": {\n \"type\": \"string\"\n },\n \"jitter\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"backoff\",\n \"count\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"backoff\": {\n \"type\": \"string\",\n \"const\": \"exponential\"\n },\n \"count\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"delay\": {\n \"type\": \"string\"\n },\n \"jitter\": {\n \"type\": \"boolean\"\n },\n \"max-delay\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"backoff\",\n \"count\",\n \"delay\"\n ]\n }\n ]\n },\n \"ScriptCommand\": {\n \"title\": \"ScriptCommand\",\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"minItems\": 1\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"command-line\": {\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"minItems\": 1\n }\n ]\n },\n \"env\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n },\n \"relative-to\": {\n \"$ref\": \"#/$defs/ScriptCommandRelativeTo\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"command-line\"\n ]\n }\n ]\n },\n \"ScriptCommandRelativeTo\": {\n \"description\": \"The directory to interpret a [`ScriptCommand`] as relative to, in case it is\\na relative path.\\n\\nIf specified, the program will be joined with the provided path.\",\n \"oneOf\": [\n {\n \"description\": \"Do not join the program with any path.\",\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"description\": \"Join the program with the workspace root.\",\n \"type\": \"string\",\n \"const\": \"workspace-root\"\n },\n {\n \"description\": \"Join the program with the target directory.\",\n \"type\": \"string\",\n \"const\": \"target\"\n }\n ]\n },\n \"ScriptConfig\": {\n \"description\": \"The scripts defined in nextest configuration.\",\n \"type\": \"object\",\n \"properties\": {\n \"setup\": {\n \"description\": \"The setup scripts defined in nextest\'s configuration.\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/SetupScriptConfig\"\n }\n },\n \"wrapper\": {\n \"description\": \"The wrapper scripts defined in nextest\'s configuration.\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/WrapperScriptConfig\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"ScriptId\": {\n \"description\": \"The name of a configuration script.\",\n \"type\": \"string\"\n },\n \"SetupScriptConfig\": {\n \"description\": \"Deserialized form of setup script configuration before compilation.\\n\\nThis is defined as a top-level element.\",\n \"type\": \"object\",\n \"properties\": {\n \"capture-stderr\": {\n \"description\": \"Whether to capture standard error for this command.\",\n \"type\": \"boolean\",\n \"default\": false\n },\n \"capture-stdout\": {\n \"description\": \"Whether to capture standard output for this command.\",\n \"type\": \"boolean\",\n \"default\": false\n },\n \"command\": {\n \"description\": \"The command to run. The first element is the program and the second element is a list\\nof arguments.\",\n \"$ref\": \"#/$defs/ScriptCommand\"\n },\n \"junit\": {\n \"description\": \"JUnit configuration for this script.\",\n \"$ref\": \"#/$defs/SetupScriptJunitConfig\"\n },\n \"leak-timeout\": {\n \"description\": \"An optional leak timeout for this command.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/LeakTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"slow-timeout\": {\n \"description\": \"An optional slow timeout for this command.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/SlowTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"command\"\n ]\n },\n \"SetupScriptJunitConfig\": {\n \"description\": \"A JUnit override configuration.\",\n \"type\": \"object\",\n \"properties\": {\n \"store-failure-output\": {\n \"description\": \"Whether to store failing output.\\n\\nDefaults to true.\",\n \"type\": \"boolean\",\n \"default\": true\n },\n \"store-success-output\": {\n \"description\": \"Whether to store successful output.\\n\\nDefaults to true.\",\n \"type\": \"boolean\",\n \"default\": true\n }\n },\n \"additionalProperties\": false\n },\n \"SlowTimeout\": {\n \"title\": \"SlowTimeout\",\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"grace-period\": {\n \"type\": \"string\"\n },\n \"on-timeout\": {\n \"$ref\": \"#/$defs/SlowTimeoutResult\"\n },\n \"period\": {\n \"type\": \"string\"\n },\n \"terminate-after\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"minimum\": 1\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"period\"\n ]\n }\n ]\n },\n \"SlowTimeoutResult\": {\n \"description\": \"The result of controlling slow timeout behavior.\\n\\nIn most situations a timed out test should be marked failing. However, there are certain\\nclasses of tests which are expected to run indefinitely long, like fuzzing, which explores a\\nhuge state space. For these tests it\'s nice to be able to treat a timeout as a success since\\nthey generally check for invariants and other properties of the code under test during their\\nexecution. A timeout in this context doesn\'t mean that there are no failing inputs, it just\\nmeans that they weren\'t found up until that moment, which is still valuable information.\",\n \"oneOf\": [\n {\n \"description\": \"The test is marked as failed.\",\n \"type\": \"string\",\n \"const\": \"fail\"\n },\n {\n \"description\": \"The test is marked as passed.\",\n \"type\": \"string\",\n \"const\": \"pass\"\n }\n ]\n },\n \"StatusLevel\": {\n \"description\": \"Status level to show in the reporter output.\\n\\nStatus levels are incremental: each level causes all the statuses listed above it to be output. For example,\\n[`Slow`](Self::Slow) implies [`Retry`](Self::Retry) and [`Fail`](Self::Fail).\",\n \"oneOf\": [\n {\n \"description\": \"No output.\",\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"description\": \"Only output test failures.\",\n \"type\": \"string\",\n \"const\": \"fail\"\n },\n {\n \"description\": \"Output retries and failures.\",\n \"type\": \"string\",\n \"const\": \"retry\"\n },\n {\n \"description\": \"Output information about slow tests, and all variants above.\",\n \"type\": \"string\",\n \"const\": \"slow\"\n },\n {\n \"description\": \"Output information about leaky tests, and all variants above.\",\n \"type\": \"string\",\n \"const\": \"leak\"\n },\n {\n \"description\": \"Output passing tests in addition to all variants above.\",\n \"type\": \"string\",\n \"const\": \"pass\"\n },\n {\n \"description\": \"Output skipped tests in addition to all variants above.\",\n \"type\": \"string\",\n \"const\": \"skip\"\n },\n {\n \"description\": \"Currently has the same meaning as [`Skip`](Self::Skip).\",\n \"type\": \"string\",\n \"const\": \"all\"\n }\n ]\n },\n \"StoreConfigImpl\": {\n \"type\": \"object\",\n \"properties\": {\n \"dir\": {\n \"description\": \"Directory where nextest stores its data.\",\n \"type\": [\n \"string\",\n \"null\"\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"TerminateMode\": {\n \"description\": \"Mode for terminating running tests when max-fail is exceeded.\",\n \"oneOf\": [\n {\n \"description\": \"Wait for running tests to complete (default)\",\n \"type\": \"string\",\n \"const\": \"wait\"\n },\n {\n \"description\": \"Terminate running tests immediately\",\n \"type\": \"string\",\n \"const\": \"immediate\"\n }\n ]\n },\n \"TestGroupConfig\": {\n \"description\": \"Configuration for a test group.\",\n \"type\": \"object\",\n \"properties\": {\n \"max-threads\": {\n \"description\": \"The maximum number of threads allowed for this test group.\",\n \"$ref\": \"#/$defs/TestThreads\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"max-threads\"\n ]\n },\n \"TestOutputDisplay\": {\n \"description\": \"When to display test output in the reporter.\",\n \"oneOf\": [\n {\n \"description\": \"Show output immediately on execution completion.\\n\\nThis is the default for failing tests.\",\n \"type\": \"string\",\n \"const\": \"immediate\"\n },\n {\n \"description\": \"Show output immediately, and at the end of a test run.\",\n \"type\": \"string\",\n \"const\": \"immediate-final\"\n },\n {\n \"description\": \"Show output at the end of execution.\",\n \"type\": \"string\",\n \"const\": \"final\"\n },\n {\n \"description\": \"Never show output.\",\n \"type\": \"string\",\n \"const\": \"never\"\n }\n ]\n },\n \"TestPriority\": {\n \"description\": \"A test priority: a number between -100 and 100.\\n\\nThe sort order is from highest to lowest priority.\",\n \"type\": \"integer\",\n \"format\": \"int8\",\n \"maximum\": 100,\n \"minimum\": -100\n },\n \"TestThreads\": {\n \"oneOf\": [\n {\n \"type\": \"integer\",\n \"not\": {\n \"const\": 0\n }\n },\n {\n \"type\": \"string\",\n \"enum\": [\n \"num-cpus\"\n ]\n }\n ]\n },\n \"ThreadsRequired\": {\n \"oneOf\": [\n {\n \"type\": \"integer\",\n \"minimum\": 1\n },\n {\n \"type\": \"string\",\n \"enum\": [\n \"num-cpus\",\n \"num-test-threads\"\n ]\n }\n ]\n },\n \"WrapperScriptConfig\": {\n \"description\": \"Deserialized form of wrapper script configuration before compilation.\\n\\nThis is defined as a top-level element.\",\n \"type\": \"object\",\n \"properties\": {\n \"command\": {\n \"description\": \"The command to run.\",\n \"$ref\": \"#/$defs/ScriptCommand\"\n },\n \"target-runner\": {\n \"description\": \"How this script interacts with a configured target runner, if any.\\nDefaults to ignoring the target runner.\",\n \"$ref\": \"#/$defs/WrapperScriptTargetRunner\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"command\"\n ]\n },\n \"WrapperScriptTargetRunner\": {\n \"description\": \"Interaction of wrapper script with a configured target runner.\",\n \"oneOf\": [\n {\n \"description\": \"The target runner is ignored. This is the default.\",\n \"type\": \"string\",\n \"const\": \"ignore\"\n },\n {\n \"description\": \"The target runner overrides the wrapper.\",\n \"type\": \"string\",\n \"const\": \"overrides-wrapper\"\n },\n {\n \"description\": \"The target runner runs within the wrapper script. The command line used\\nis `<wrapper> <target-runner> <test-binary> <args>`.\",\n \"type\": \"string\",\n \"const\": \"within-wrapper\"\n },\n {\n \"description\": \"The target runner runs around the wrapper script. The command line used\\nis `<target-runner> <wrapper> <test-binary> <args>`.\",\n \"type\": \"string\",\n \"const\": \"around-wrapper\"\n }\n ]\n }\n }\n}\n"
pub const SCHEMA: &'static str = "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"NextestConfigDeserialize\",\n \"type\": \"object\",\n \"properties\": {\n \"experimental\": {\n \"description\": \"Enables experimental nextest features.\",\n \"$ref\": \"#/$defs/ExperimentalDeserialize\"\n },\n \"nextest-version\": {\n \"description\": \"The minimum required and recommended versions of nextest for this\\nconfiguration.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/NextestVersionDeserialize\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"profile\": {\n \"description\": \"Test profiles.\",\n \"type\": [\n \"object\",\n \"null\"\n ],\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/CustomProfileImpl\"\n }\n },\n \"script\": {\n \"description\": \"Deprecated location for setup scripts.\\n\\nNew configurations should use `[scripts.setup.<name>]` instead.\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/SetupScriptConfig\"\n }\n },\n \"scripts\": {\n \"description\": \"Setup and wrapper scripts.\",\n \"$ref\": \"#/$defs/ScriptConfig\"\n },\n \"store\": {\n \"description\": \"Configuration for the nextest store directory.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/StoreConfigImpl\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"test-groups\": {\n \"description\": \"Custom test groups for mutual exclusion and resource management.\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/TestGroupConfig\"\n }\n }\n },\n \"additionalProperties\": false,\n \"x-tombi-toml-version\": \"v1.1.0\",\n \"$defs\": {\n \"ArchiveConfig\": {\n \"description\": \"Configuration for archives.\",\n \"type\": \"object\",\n \"properties\": {\n \"include\": {\n \"description\": \"Files to include in the archive.\",\n \"type\": [\n \"array\",\n \"null\"\n ],\n \"items\": {\n \"$ref\": \"#/$defs/ArchiveInclude\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"ArchiveInclude\": {\n \"description\": \"Type for the archive-include key.\\n\\n# Notes\\n\\nThis is `deny_unknown_fields` because if we take additional arguments in the future, they\'re\\nlikely to change semantics in an incompatible way.\",\n \"type\": \"object\",\n \"properties\": {\n \"depth\": {\n \"description\": \"Maximum recursion depth.\",\n \"oneOf\": [\n {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n {\n \"type\": \"string\",\n \"enum\": [\n \"infinite\"\n ]\n }\n ]\n },\n \"on-missing\": {\n \"description\": \"What to do if the path is missing.\",\n \"$ref\": \"#/$defs/ArchiveIncludeOnMissing\"\n },\n \"path\": {\n \"description\": \"Relative path to include.\",\n \"type\": \"string\"\n },\n \"relative-to\": {\n \"description\": \"Base directory that `path` is relative to.\",\n \"$ref\": \"#/$defs/ArchiveRelativeTo\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"path\",\n \"relative-to\"\n ]\n },\n \"ArchiveIncludeOnMissing\": {\n \"description\": \"What to do when an archive-include path is missing.\",\n \"oneOf\": [\n {\n \"description\": \"Ignore and continue.\",\n \"type\": \"string\",\n \"const\": \"ignore\"\n },\n {\n \"description\": \"Warn and continue.\",\n \"type\": \"string\",\n \"const\": \"warn\"\n },\n {\n \"description\": \"Produce an error.\",\n \"type\": \"string\",\n \"const\": \"error\"\n }\n ]\n },\n \"ArchiveRelativeTo\": {\n \"description\": \"Defines the base of the path\",\n \"oneOf\": [\n {\n \"description\": \"Path starts at the target directory\",\n \"type\": \"string\",\n \"const\": \"target\"\n }\n ]\n },\n \"BenchConfig\": {\n \"description\": \"Benchmark-specific configuration (deserialized form with optional fields).\",\n \"type\": \"object\",\n \"properties\": {\n \"global-timeout\": {\n \"description\": \"Global timeout for benchmarks.\",\n \"type\": [\n \"string\",\n \"null\"\n ]\n },\n \"slow-timeout\": {\n \"description\": \"Slow timeout for benchmarks.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/SlowTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"ConfigIdentifier\": {\n \"description\": \"An identifier used in configuration.\\n\\nThe identifier goes through some basic validation:\\n* conversion to NFC\\n* ensuring that it is of the form (XID_Start)(XID_Continue | -)*\\n\\nIdentifiers can also be tool identifiers, which are of the form \\\"@tool:tool-name:identifier\\\".\",\n \"type\": \"string\"\n },\n \"CustomProfileImpl\": {\n \"type\": \"object\",\n \"properties\": {\n \"archive\": {\n \"description\": \"Archive configuration for this profile.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/ArchiveConfig\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"bench\": {\n \"description\": \"Benchmark-specific configuration.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/BenchConfig\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"default-filter\": {\n \"description\": \"The default set of tests run by `cargo nextest run`.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"fail-fast\": {\n \"description\": \"Controls when to stop running tests after failures.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MaxFail\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"failure-output\": {\n \"description\": \"When to display output for failed tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestOutputDisplay\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"final-status-level\": {\n \"description\": \"Level of status information to display in the final summary.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/FinalStatusLevel\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"flaky-result\": {\n \"description\": \"Whether to treat flaky tests as passing or failing.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/FlakyResult\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"global-timeout\": {\n \"description\": \"A global timeout for test execution.\",\n \"type\": [\n \"string\",\n \"null\"\n ]\n },\n \"inherits\": {\n \"description\": \"The profile to inherit configuration settings from.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"junit\": {\n \"description\": \"JUnit output configuration.\",\n \"$ref\": \"#/$defs/JunitImpl\"\n },\n \"leak-timeout\": {\n \"description\": \"Time to wait for child processes to exit after a test completes.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/LeakTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"overrides\": {\n \"description\": \"Per-test setting overrides.\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/DeserializedOverride\"\n }\n },\n \"retries\": {\n \"description\": \"Retry policy for failed tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/RetryPolicy\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"run-extra-args\": {\n \"description\": \"Extra arguments to pass to test binaries.\",\n \"type\": [\n \"array\",\n \"null\"\n ],\n \"default\": null,\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"scripts\": {\n \"description\": \"Profile-specific script configuration.\",\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/DeserializedProfileScriptConfig\"\n }\n },\n \"slow-timeout\": {\n \"description\": \"Time after which tests are considered slow, and timeout configuration.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/SlowTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"status-level\": {\n \"description\": \"Level of status information to display during test runs.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/StatusLevel\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"success-output\": {\n \"description\": \"When to display output for successful tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestOutputDisplay\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"test-threads\": {\n \"description\": \"Number of threads to run tests with.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestThreads\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"threads-required\": {\n \"description\": \"Number of threads each test requires.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/ThreadsRequired\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"CustomTestGroup\": {\n \"description\": \"Represents a custom test group.\",\n \"$ref\": \"#/$defs/ConfigIdentifier\"\n },\n \"DeserializedJunitOutput\": {\n \"type\": \"object\",\n \"properties\": {\n \"flaky-fail-status\": {\n \"description\": \"How flaky-fail tests are reported in the JUnit XML report.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/JunitFlakyFailStatus\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"store-failure-output\": {\n \"description\": \"Whether to store failed test output in the JUnit XML report.\",\n \"type\": [\n \"boolean\",\n \"null\"\n ]\n },\n \"store-success-output\": {\n \"description\": \"Whether to store successful test output in the JUnit XML report.\",\n \"type\": [\n \"boolean\",\n \"null\"\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"DeserializedOverride\": {\n \"description\": \"Deserialized form of profile overrides before compilation.\",\n \"type\": \"object\",\n \"properties\": {\n \"bench\": {\n \"description\": \"Benchmark-specific overrides.\",\n \"$ref\": \"#/$defs/DeserializedOverrideBench\"\n },\n \"default-filter\": {\n \"description\": \"The default filter for tests. Only supported if platform is specified\\nbut filter is not.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"failure-output\": {\n \"description\": \"Failure output display for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestOutputDisplay\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"filter\": {\n \"description\": \"The filterset to match against.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"flaky-result\": {\n \"description\": \"Whether to treat flaky tests as passing or failing.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/FlakyResult\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"junit\": {\n \"description\": \"JUnit output configuration for matching tests.\",\n \"$ref\": \"#/$defs/DeserializedJunitOutput\"\n },\n \"leak-timeout\": {\n \"description\": \"Leak timeout for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/LeakTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"platform\": {\n \"description\": \"The host and/or target platforms to match against.\",\n \"$ref\": \"#/$defs/PlatformStrings\"\n },\n \"priority\": {\n \"description\": \"Test priority.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestPriority\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"retries\": {\n \"description\": \"Retry policy for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/RetryPolicy\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"run-extra-args\": {\n \"description\": \"Extra arguments to pass to the test runner.\",\n \"type\": [\n \"array\",\n \"null\"\n ],\n \"default\": null,\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"slow-timeout\": {\n \"description\": \"Slow timeout for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/SlowTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"success-output\": {\n \"description\": \"Success output display for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TestOutputDisplay\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"test-group\": {\n \"description\": \"Test group to put matching tests in.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/CustomTestGroup\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"threads-required\": {\n \"description\": \"The number of threads required for matching tests.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/ThreadsRequired\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"DeserializedOverrideBench\": {\n \"description\": \"Deserialized form of benchmark-specific overrides.\",\n \"type\": \"object\",\n \"properties\": {\n \"slow-timeout\": {\n \"description\": \"Slow timeout for matching benchmarks.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/SlowTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"DeserializedProfileScriptConfig\": {\n \"description\": \"Deserialized form of profile-specific script configuration before compilation.\",\n \"type\": \"object\",\n \"properties\": {\n \"filter\": {\n \"description\": \"The filterset to match against.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"list-wrapper\": {\n \"description\": \"The wrapper script to run at list time.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/ScriptId\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"platform\": {\n \"description\": \"The host and/or target platforms to match against.\",\n \"$ref\": \"#/$defs/PlatformStrings\"\n },\n \"run-wrapper\": {\n \"description\": \"The wrapper script to run at run time.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/ScriptId\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"setup\": {\n \"description\": \"The setup script or scripts to run.\",\n \"default\": [],\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/ScriptId\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/$defs/ScriptId\"\n }\n }\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"ExperimentalDeserialize\": {\n \"oneOf\": [\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"setup-scripts\",\n \"wrapper-scripts\",\n \"benchmarks\"\n ]\n }\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"benchmarks\": {\n \"type\": \"boolean\"\n },\n \"setup-scripts\": {\n \"type\": \"boolean\"\n },\n \"wrapper-scripts\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": true\n }\n ]\n },\n \"FinalStatusLevel\": {\n \"description\": \"Status level to show at the end of test runs in the reporter output.\\n\\nStatus levels are incremental.\\n\\nThis differs from [`StatusLevel`] in two ways:\\n* It has a \\\"flaky\\\" test indicator that\'s different from \\\"retry\\\" (though \\\"retry\\\" works as an alias.)\\n* It has a different ordering: skipped tests are prioritized over passing ones.\",\n \"oneOf\": [\n {\n \"description\": \"No output.\",\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"description\": \"Only output test failures.\",\n \"type\": \"string\",\n \"const\": \"fail\"\n },\n {\n \"description\": \"Output flaky tests.\",\n \"type\": \"string\",\n \"const\": \"flaky\"\n },\n {\n \"description\": \"Output information about slow tests, and all variants above.\",\n \"type\": \"string\",\n \"const\": \"slow\"\n },\n {\n \"description\": \"Output skipped tests in addition to all variants above.\",\n \"type\": \"string\",\n \"const\": \"skip\"\n },\n {\n \"description\": \"Output leaky tests in addition to all variants above.\",\n \"type\": \"string\",\n \"const\": \"leak\"\n },\n {\n \"description\": \"Output passing tests in addition to all variants above.\",\n \"type\": \"string\",\n \"const\": \"pass\"\n },\n {\n \"description\": \"Currently has the same meaning as [`Pass`](Self::Pass).\",\n \"type\": \"string\",\n \"const\": \"all\"\n }\n ]\n },\n \"FlakyResult\": {\n \"description\": \"Controls whether a flaky test is treated as a pass or a failure.\",\n \"oneOf\": [\n {\n \"description\": \"The test is marked as failed.\",\n \"type\": \"string\",\n \"const\": \"fail\"\n },\n {\n \"description\": \"The test is marked as passed.\",\n \"type\": \"string\",\n \"const\": \"pass\"\n }\n ]\n },\n \"JunitFlakyFailStatus\": {\n \"description\": \"Controls how flaky-fail tests are reported in JUnit XML output.\\n\\nFlaky-fail tests are tests that eventually passed on retry but are configured\\nwith `flaky-result = \\\"fail\\\"`. This setting controls whether they appear as\\nfailures or successes in the JUnit report.\",\n \"oneOf\": [\n {\n \"description\": \"Report flaky-fail tests as failures with `<failure>` and\\n`<flakyFailure>` elements.\",\n \"type\": \"string\",\n \"const\": \"failure\"\n },\n {\n \"description\": \"Report flaky-fail tests as successes, identical to flaky-pass tests.\",\n \"type\": \"string\",\n \"const\": \"success\"\n }\n ]\n },\n \"JunitImpl\": {\n \"type\": \"object\",\n \"properties\": {\n \"flaky-fail-status\": {\n \"description\": \"How flaky-fail tests are reported in the JUnit XML report.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/JunitFlakyFailStatus\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"default\": null\n },\n \"path\": {\n \"description\": \"Path to write the JUnit XML report to. If unset, JUnit support is\\ndisabled.\",\n \"type\": \"string\",\n \"default\": null\n },\n \"report-name\": {\n \"description\": \"Name for the JUnit report.\",\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"default\": null\n },\n \"store-failure-output\": {\n \"description\": \"Whether to store failed test output in the JUnit XML report.\",\n \"type\": [\n \"boolean\",\n \"null\"\n ],\n \"default\": null\n },\n \"store-success-output\": {\n \"description\": \"Whether to store successful test output in the JUnit XML report.\",\n \"type\": [\n \"boolean\",\n \"null\"\n ],\n \"default\": null\n }\n },\n \"additionalProperties\": false\n },\n \"LeakTimeout\": {\n \"title\": \"LeakTimeout\",\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"period\": {\n \"type\": \"string\"\n },\n \"result\": {\n \"$ref\": \"#/$defs/LeakTimeoutResult\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"period\"\n ]\n }\n ]\n },\n \"LeakTimeoutResult\": {\n \"description\": \"The result of controlling leak timeout behavior.\",\n \"oneOf\": [\n {\n \"description\": \"The test is marked as failed.\",\n \"type\": \"string\",\n \"const\": \"fail\"\n },\n {\n \"description\": \"The test is marked as passed.\",\n \"type\": \"string\",\n \"const\": \"pass\"\n }\n ]\n },\n \"MaxFail\": {\n \"oneOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"max-fail\": {\n \"oneOf\": [\n {\n \"type\": \"integer\",\n \"minimum\": 1\n },\n {\n \"type\": \"string\",\n \"enum\": [\n \"all\"\n ]\n }\n ]\n },\n \"terminate\": {\n \"$ref\": \"#/$defs/TerminateMode\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"max-fail\"\n ]\n }\n ]\n },\n \"NextestVersionDeserialize\": {\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"recommended\": {\n \"type\": \"string\"\n },\n \"required\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"PlatformStrings\": {\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"host\": {\n \"type\": [\n \"string\",\n \"null\"\n ]\n },\n \"target\": {\n \"type\": [\n \"string\",\n \"null\"\n ]\n }\n },\n \"additionalProperties\": false\n }\n ]\n },\n \"RetryPolicy\": {\n \"title\": \"RetryPolicy\",\n \"oneOf\": [\n {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"backoff\": {\n \"type\": \"string\",\n \"const\": \"fixed\"\n },\n \"count\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"delay\": {\n \"type\": \"string\"\n },\n \"jitter\": {\n \"type\": \"boolean\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"backoff\",\n \"count\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"backoff\": {\n \"type\": \"string\",\n \"const\": \"exponential\"\n },\n \"count\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"delay\": {\n \"type\": \"string\"\n },\n \"jitter\": {\n \"type\": \"boolean\"\n },\n \"max-delay\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"backoff\",\n \"count\",\n \"delay\"\n ]\n }\n ]\n },\n \"ScriptCommand\": {\n \"title\": \"ScriptCommand\",\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"minItems\": 1\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"command-line\": {\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"minItems\": 1\n }\n ]\n },\n \"env\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n },\n \"relative-to\": {\n \"$ref\": \"#/$defs/ScriptCommandRelativeTo\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"command-line\"\n ]\n }\n ]\n },\n \"ScriptCommandRelativeTo\": {\n \"description\": \"The directory to interpret a [`ScriptCommand`] as relative to, in case it is\\na relative path.\\n\\nIf specified, the program will be joined with the provided path.\",\n \"oneOf\": [\n {\n \"description\": \"Do not join the program with any path.\",\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"description\": \"Join the program with the workspace root.\",\n \"type\": \"string\",\n \"const\": \"workspace-root\"\n },\n {\n \"description\": \"Join the program with the target directory.\",\n \"type\": \"string\",\n \"const\": \"target\"\n }\n ]\n },\n \"ScriptConfig\": {\n \"description\": \"The scripts defined in nextest configuration.\",\n \"type\": \"object\",\n \"properties\": {\n \"setup\": {\n \"description\": \"The setup scripts defined in nextest\'s configuration.\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/SetupScriptConfig\"\n }\n },\n \"wrapper\": {\n \"description\": \"The wrapper scripts defined in nextest\'s configuration.\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/WrapperScriptConfig\"\n }\n }\n },\n \"additionalProperties\": false\n },\n \"ScriptId\": {\n \"description\": \"The name of a configuration script.\",\n \"type\": \"string\"\n },\n \"SetupScriptConfig\": {\n \"description\": \"Deserialized form of setup script configuration before compilation.\\n\\nThis is defined as a top-level element.\",\n \"type\": \"object\",\n \"properties\": {\n \"capture-stderr\": {\n \"description\": \"Whether to capture standard error for this command.\",\n \"type\": \"boolean\",\n \"default\": false\n },\n \"capture-stdout\": {\n \"description\": \"Whether to capture standard output for this command.\",\n \"type\": \"boolean\",\n \"default\": false\n },\n \"command\": {\n \"description\": \"The command to run. The first element is the program and the second element is a list\\nof arguments.\",\n \"$ref\": \"#/$defs/ScriptCommand\"\n },\n \"junit\": {\n \"description\": \"JUnit configuration for this script.\",\n \"$ref\": \"#/$defs/SetupScriptJunitConfig\"\n },\n \"leak-timeout\": {\n \"description\": \"An optional leak timeout for this command.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/LeakTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n },\n \"slow-timeout\": {\n \"description\": \"An optional slow timeout for this command.\",\n \"anyOf\": [\n {\n \"$ref\": \"#/$defs/SlowTimeout\"\n },\n {\n \"type\": \"null\"\n }\n ]\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"command\"\n ]\n },\n \"SetupScriptJunitConfig\": {\n \"description\": \"A JUnit override configuration.\",\n \"type\": \"object\",\n \"properties\": {\n \"store-failure-output\": {\n \"description\": \"Whether to store failing output.\\n\\nDefaults to true.\",\n \"type\": \"boolean\",\n \"default\": true\n },\n \"store-success-output\": {\n \"description\": \"Whether to store successful output.\\n\\nDefaults to true.\",\n \"type\": \"boolean\",\n \"default\": true\n }\n },\n \"additionalProperties\": false\n },\n \"SlowTimeout\": {\n \"title\": \"SlowTimeout\",\n \"oneOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"grace-period\": {\n \"type\": \"string\"\n },\n \"on-timeout\": {\n \"$ref\": \"#/$defs/SlowTimeoutResult\"\n },\n \"period\": {\n \"type\": \"string\"\n },\n \"terminate-after\": {\n \"type\": [\n \"integer\",\n \"null\"\n ],\n \"minimum\": 1\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"period\"\n ]\n }\n ]\n },\n \"SlowTimeoutResult\": {\n \"description\": \"The result of controlling slow timeout behavior.\\n\\nIn most situations a timed out test should be marked failing. However, there are certain\\nclasses of tests which are expected to run indefinitely long, like fuzzing, which explores a\\nhuge state space. For these tests it\'s nice to be able to treat a timeout as a success since\\nthey generally check for invariants and other properties of the code under test during their\\nexecution. A timeout in this context doesn\'t mean that there are no failing inputs, it just\\nmeans that they weren\'t found up until that moment, which is still valuable information.\",\n \"oneOf\": [\n {\n \"description\": \"The test is marked as failed.\",\n \"type\": \"string\",\n \"const\": \"fail\"\n },\n {\n \"description\": \"The test is marked as passed.\",\n \"type\": \"string\",\n \"const\": \"pass\"\n }\n ]\n },\n \"StatusLevel\": {\n \"description\": \"Status level to show in the reporter output.\\n\\nStatus levels are incremental: each level causes all the statuses listed above it to be output. For example,\\n[`Slow`](Self::Slow) implies [`Retry`](Self::Retry) and [`Fail`](Self::Fail).\",\n \"oneOf\": [\n {\n \"description\": \"No output.\",\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"description\": \"Only output test failures.\",\n \"type\": \"string\",\n \"const\": \"fail\"\n },\n {\n \"description\": \"Output retries and failures.\",\n \"type\": \"string\",\n \"const\": \"retry\"\n },\n {\n \"description\": \"Output information about slow tests, and all variants above.\",\n \"type\": \"string\",\n \"const\": \"slow\"\n },\n {\n \"description\": \"Output information about leaky tests, and all variants above.\",\n \"type\": \"string\",\n \"const\": \"leak\"\n },\n {\n \"description\": \"Output passing tests in addition to all variants above.\",\n \"type\": \"string\",\n \"const\": \"pass\"\n },\n {\n \"description\": \"Output skipped tests in addition to all variants above.\",\n \"type\": \"string\",\n \"const\": \"skip\"\n },\n {\n \"description\": \"Currently has the same meaning as [`Skip`](Self::Skip).\",\n \"type\": \"string\",\n \"const\": \"all\"\n }\n ]\n },\n \"StoreConfigImpl\": {\n \"type\": \"object\",\n \"properties\": {\n \"dir\": {\n \"description\": \"Directory where nextest stores its data.\",\n \"type\": [\n \"string\",\n \"null\"\n ]\n }\n },\n \"additionalProperties\": false\n },\n \"TerminateMode\": {\n \"description\": \"Mode for terminating running tests when max-fail is exceeded.\",\n \"oneOf\": [\n {\n \"description\": \"Wait for running tests to complete (default)\",\n \"type\": \"string\",\n \"const\": \"wait\"\n },\n {\n \"description\": \"Terminate running tests immediately\",\n \"type\": \"string\",\n \"const\": \"immediate\"\n }\n ]\n },\n \"TestGroupConfig\": {\n \"description\": \"Configuration for a test group.\",\n \"type\": \"object\",\n \"properties\": {\n \"max-threads\": {\n \"description\": \"The maximum number of threads allowed for this test group.\",\n \"$ref\": \"#/$defs/TestThreads\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"max-threads\"\n ]\n },\n \"TestOutputDisplay\": {\n \"description\": \"When to display test output in the reporter.\",\n \"oneOf\": [\n {\n \"description\": \"Show output immediately on execution completion.\\n\\nThis is the default for failing tests.\",\n \"type\": \"string\",\n \"const\": \"immediate\"\n },\n {\n \"description\": \"Show output immediately, and at the end of a test run.\",\n \"type\": \"string\",\n \"const\": \"immediate-final\"\n },\n {\n \"description\": \"Show output at the end of execution.\",\n \"type\": \"string\",\n \"const\": \"final\"\n },\n {\n \"description\": \"Never show output.\",\n \"type\": \"string\",\n \"const\": \"never\"\n }\n ]\n },\n \"TestPriority\": {\n \"description\": \"A test priority: a number between -100 and 100.\\n\\nThe sort order is from highest to lowest priority.\",\n \"type\": \"integer\",\n \"format\": \"int8\",\n \"maximum\": 100,\n \"minimum\": -100\n },\n \"TestThreads\": {\n \"oneOf\": [\n {\n \"type\": \"integer\",\n \"not\": {\n \"const\": 0\n }\n },\n {\n \"type\": \"string\",\n \"enum\": [\n \"num-cpus\"\n ]\n }\n ]\n },\n \"ThreadsRequired\": {\n \"oneOf\": [\n {\n \"type\": \"integer\",\n \"minimum\": 1\n },\n {\n \"type\": \"string\",\n \"enum\": [\n \"num-cpus\",\n \"num-test-threads\"\n ]\n }\n ]\n },\n \"WrapperScriptConfig\": {\n \"description\": \"Deserialized form of wrapper script configuration before compilation.\\n\\nThis is defined as a top-level element.\",\n \"type\": \"object\",\n \"properties\": {\n \"command\": {\n \"description\": \"The command to run.\",\n \"$ref\": \"#/$defs/ScriptCommand\"\n },\n \"target-runner\": {\n \"description\": \"How this script interacts with a configured target runner, if any.\\nDefaults to ignoring the target runner.\",\n \"$ref\": \"#/$defs/WrapperScriptTargetRunner\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"command\"\n ]\n },\n \"WrapperScriptTargetRunner\": {\n \"description\": \"Interaction of wrapper script with a configured target runner.\",\n \"oneOf\": [\n {\n \"description\": \"The target runner is ignored. This is the default.\",\n \"type\": \"string\",\n \"const\": \"ignore\"\n },\n {\n \"description\": \"The target runner overrides the wrapper.\",\n \"type\": \"string\",\n \"const\": \"overrides-wrapper\"\n },\n {\n \"description\": \"The target runner runs within the wrapper script. The command line used\\nis `<wrapper> <target-runner> <test-binary> <args>`.\",\n \"type\": \"string\",\n \"const\": \"within-wrapper\"\n },\n {\n \"description\": \"The target runner runs around the wrapper script. The command line used\\nis `<target-runner> <wrapper> <test-binary> <args>`.\",\n \"type\": \"string\",\n \"const\": \"around-wrapper\"\n }\n ]\n }\n }\n}\n"
The pregenerated JSON Schema for .config/nextest.toml.
The schema is checked into the repository at
nextest-runner/jsonschemas/repo-config.json. (If you’re working within
the nextest repository, regenerate the schema with just generate-schemas.)
Sourcepub const ENVIRONMENT_PREFIX: &'static str = "NEXTEST"
pub const ENVIRONMENT_PREFIX: &'static str = "NEXTEST"
Environment configuration uses this prefix, plus a _.
Sourcepub const DEFAULT_PROFILE: &'static str = "default"
pub const DEFAULT_PROFILE: &'static str = "default"
The name of the default profile.
Sourcepub const DEFAULT_MIRI_PROFILE: &'static str = "default-miri"
pub const DEFAULT_MIRI_PROFILE: &'static str = "default-miri"
The name of the default profile used for miri.
Sourcepub const DEFAULT_PROFILES: &'static [&'static str]
pub const DEFAULT_PROFILES: &'static [&'static str]
A list containing the names of the Nextest defined reserved profile names.
Sourcepub fn from_sources<'a, I>(
workspace_root: impl Into<Utf8PathBuf>,
pcx: &ParseContext<'_>,
config_file: Option<&Utf8Path>,
tool_config_files: impl IntoIterator<IntoIter = I>,
experimental: &BTreeSet<ConfigExperimental>,
) -> Result<Self, ConfigParseError>
pub fn from_sources<'a, I>( workspace_root: impl Into<Utf8PathBuf>, pcx: &ParseContext<'_>, config_file: Option<&Utf8Path>, tool_config_files: impl IntoIterator<IntoIter = I>, experimental: &BTreeSet<ConfigExperimental>, ) -> Result<Self, ConfigParseError>
Reads the nextest config from the given file, or if not specified from .config/nextest.toml
in the workspace root.
tool_config_files are lower priority than config_file but higher priority than the
default config. Files in tool_config_files that come earlier are higher priority than those
that come later.
If no config files are specified and this file doesn’t have .config/nextest.toml, uses the
default config options.
Sourcepub fn from_sources_with_warnings<'a, I>(
workspace_root: impl Into<Utf8PathBuf>,
pcx: &ParseContext<'_>,
config_file: Option<&Utf8Path>,
tool_config_files: impl IntoIterator<IntoIter = I>,
experimental: &BTreeSet<ConfigExperimental>,
warnings: &mut impl ConfigWarnings,
) -> Result<Self, ConfigParseError>
pub fn from_sources_with_warnings<'a, I>( workspace_root: impl Into<Utf8PathBuf>, pcx: &ParseContext<'_>, config_file: Option<&Utf8Path>, tool_config_files: impl IntoIterator<IntoIter = I>, experimental: &BTreeSet<ConfigExperimental>, warnings: &mut impl ConfigWarnings, ) -> Result<Self, ConfigParseError>
Load configuration from the given sources with custom warning handling.
Sourcepub fn profile(
&self,
name: impl AsRef<str>,
) -> Result<EarlyProfile<'_>, ProfileNotFound>
pub fn profile( &self, name: impl AsRef<str>, ) -> Result<EarlyProfile<'_>, ProfileNotFound>
Returns the profile with the given name, or an error if a profile was specified but not found.
Trait Implementations§
Source§impl Clone for NextestConfig
impl Clone for NextestConfig
Source§fn clone(&self) -> NextestConfig
fn clone(&self) -> NextestConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for NextestConfig
impl RefUnwindSafe for NextestConfig
impl Send for NextestConfig
impl Sync for NextestConfig
impl Unpin for NextestConfig
impl UnsafeUnpin for NextestConfig
impl UnwindSafe for NextestConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more