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 helpers;
25mod identifier;
26mod junit;
27mod leak_timeout;
28mod max_fail;
29mod nextest_version;
30mod overrides;
31mod priority;
32mod retry_policy;
33mod scripts;
34mod slow_timeout;
35mod test_group;
36mod test_threads;
37mod threads_required;
38mod tool_config;
39mod track_default;
40
41pub use archive::*;
42pub use config_impl::*;
43pub use identifier::*;
44pub use junit::*;
45pub use leak_timeout::*;
46pub use max_fail::*;
47pub use nextest_version::*;
48pub use overrides::*;
49pub use priority::*;
50pub use retry_policy::*;
51pub(super) use scripts::*;
52pub use slow_timeout::*;
53pub use test_group::*;
54pub use test_threads::*;
55pub use threads_required::*;
56pub use tool_config::*;
57pub(super) use track_default::*;
58
59#[cfg(test)]
60mod test_helpers;