torrust_tracker/console/ci/e2e/
tracker_checker.rs

1use std::io;
2use std::process::Command;
3
4/// Runs the Tracker Checker.
5///
6/// # Errors
7///
8/// Will return an error if the Tracker Checker fails.
9pub fn run(config_content: &str) -> io::Result<()> {
10    tracing::info!("Running Tracker Checker: TORRUST_CHECKER_CONFIG=[config] cargo run --bin tracker_checker");
11    tracing::info!("Tracker Checker config:\n{config_content}");
12
13    let status = Command::new("cargo")
14        .env("TORRUST_CHECKER_CONFIG", config_content)
15        .args(["run", "--bin", "tracker_checker"])
16        .status()?;
17
18    if status.success() {
19        Ok(())
20    } else {
21        Err(io::Error::new(io::ErrorKind::Other, "Failed to run Tracker Checker"))
22    }
23}