pub struct Config {Show 14 fields
pub project: ProjectConfig,
pub generation: GenerationConfig,
pub types: TypeConfig,
pub performance: PerformanceConfig,
pub filesystem: FilesystemConfig,
pub output_dir: String,
pub skip_functions: Vec<String>,
pub type_mappings: HashMap<String, String>,
pub include_private: bool,
pub parallel: bool,
pub parallel_chunk_size: usize,
pub respect_gitignore: bool,
pub skip_patterns: Vec<String>,
pub timeout_seconds: u64,
}Expand description
Enhanced hierarchical configuration for GitOps-style workflows.
Supports cascading configuration sources with environment override capabilities:
- Global user config (~/.config/auto_test/{config.toml,yaml})
- Project-specific config ({project}/.auto_test.{toml,yaml})
- Environment variables (AUTO_TEST_*)
- Inline overrides via CLI flags
Fields§
§project: ProjectConfigProject metadata for GitOps workflows
generation: GenerationConfigGeneration strategy and behavior
types: TypeConfigType-safe parameter generation
performance: PerformanceConfigPerformance and execution control
filesystem: FilesystemConfigFile discovery and filtering
output_dir: String§skip_functions: Vec<String>§type_mappings: HashMap<String, String>§include_private: bool§parallel: bool§parallel_chunk_size: usize§respect_gitignore: bool§skip_patterns: Vec<String>§timeout_seconds: u64Implementations§
Source§impl Config
impl Config
Sourcepub fn load(project_root: &Path) -> Result<Self>
pub fn load(project_root: &Path) -> Result<Self>
Load configuration from the standard locations in a project root.
Looks for configuration files in this order:
- auto_test.toml
- auto_test.yaml
- Default configuration
Supports both legacy flat format and new hierarchical format.
§Arguments
project_root- Path to the project root directory
§Returns
The loaded configuration, or an error if loading fails
Sourcepub fn load_from_file(path: &Path) -> Result<Self>
pub fn load_from_file(path: &Path) -> Result<Self>
Sourcepub fn save_to_file(&self, path: &Path) -> Result<()>
pub fn save_to_file(&self, path: &Path) -> Result<()>
Sourcepub fn get_type_mapping(&self, type_name: &str) -> Option<&String>
pub fn get_type_mapping(&self, type_name: &str) -> Option<&String>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<LegacyConfig> for Config
impl From<LegacyConfig> for Config
Source§fn from(legacy: LegacyConfig) -> Self
fn from(legacy: LegacyConfig) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 more