nextest_runner/config/mod.rs
1// Copyright (c) The nextest Contributors
2// SPDX-License-Identifier: MIT OR Apache-2.0
3
4//! Configuration support for nextest.
5//!
6//! ## Multi-pass parsing
7//!
8//! Nextest's configuration parsing happens in several passes, similar to a
9//! typical compiler.
10//!
11//! * The first pass verifies that the configuration looks fine and is done
12//! very early in the process. A successful first phase parse is represented by
13//! [`EarlyProfile`].
14//! * The second pass applies the host and target platforms to the configuration,
15//! resulting in an [`EvaluatableProfile`].
16//! * The final pass resolves actual per-test settings, via [`TestSettings`].
17//!
18//! Multi-pass parsing allows for profile parsing errors to be returned as early
19//! as possible -- before the host and target platforms are known. Returning
20//! errors early leads to a better user experience.
21
22mod archive;
23mod config_impl;
24mod global_timeout;
25mod helpers;
26mod identifier;
27mod junit;
28mod leak_timeout;
29mod max_fail;
30mod nextest_version;
31mod overrides;
32mod priority;
33mod retry_policy;
34mod scripts;
35mod slow_timeout;
36mod test_group;
37mod test_threads;
38mod threads_required;
39mod tool_config;
40mod track_default;
41
42pub use archive::*;
43pub use config_impl::*;
44pub use global_timeout::*;
45pub use identifier::*;
46pub use junit::*;
47pub use leak_timeout::*;
48pub use max_fail::*;
49pub use nextest_version::*;
50pub use overrides::*;
51pub use priority::*;
52pub use retry_policy::*;
53pub use scripts::*;
54pub use slow_timeout::*;
55pub use test_group::*;
56pub use test_threads::*;
57pub use threads_required::*;
58pub use tool_config::*;
59pub(super) use track_default::*;
60
61#[cfg(test)]
62mod test_helpers;