vdev/commands/compose_tests/
start.rs

1use anyhow::Result;
2
3use crate::testing::{
4    config::ComposeTestConfig,
5    integration::{ComposeTest, ComposeTestLocalConfig},
6};
7
8pub(crate) fn exec(
9    local_config: ComposeTestLocalConfig,
10    integration: &str,
11    environment: Option<&String>,
12) -> Result<()> {
13    let environment = if let Some(environment) = environment {
14        environment.clone()
15    } else {
16        let (_test_dir, config) = ComposeTestConfig::load(local_config.directory, integration)?;
17        let envs = config.environments();
18        trace!("Available environments: {envs:#?}");
19        let env = envs.keys().next().expect("Integration has no environments");
20        env.clone()
21    };
22    debug!("Selected environment: {environment:#?}");
23    ComposeTest::generate(local_config, integration, environment, 0)?.start()
24}