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