Files
wireguard-admin/tests/testcontainers_wireguard.rs

48 lines
1.6 KiB
Rust

mod support;
use std::time::Duration;
use support::container_harness::{ProbeNames, cleanup_confirmed_probe_resources, run_probe};
use support::container_selection::Selection;
const CLEANUP_BUDGET: Duration = Duration::from_secs(40);
#[test]
#[ignore = "requires an explicitly selected disposable Docker daemon"]
fn selected_daemon_wireguard_and_application_smoke() {
let selection = Selection::from_process_environment()
.unwrap_or_else(|category| panic!("Testcontainers selection failed ({category})"));
let names = ProbeNames::unique();
let result = run_probe(&names);
// run_probe is synchronous: all Testcontainers requests return or reach the
// pinned client's request timeout before this ownership-checked cleanup.
let cleanup = cleanup_confirmed_probe_resources(
&selection,
&names,
&std::process::id().to_string(),
CLEANUP_BUDGET,
);
if !cleanup.is_empty() {
eprintln!(
"Testcontainers cleanup incomplete for owned resources {}, {}, {}, {} ({})",
names.network,
names.server,
names.baseline,
names.client,
cleanup.join(", ")
);
}
if let Err(category) = result {
panic!("Testcontainers probe failed ({category})");
}
if !cleanup.is_empty() {
panic!("Testcontainers probe passed but owned-resource cleanup was incomplete");
}
eprintln!(
"Testcontainers capability and Application smoke passed; owned resources: {}, {}, {}, {}",
names.network, names.server, names.baseline, names.client
);
}