#![cfg(feature = "live-engine")]
use std::path::Path;
use rs_teststand::{Engine, Error};
#[test]
#[ignore = "requires a live TestStand engine"]
fn engine_reports_a_plausible_version() -> Result<(), Error> {
let engine = Engine::new()?;
let major = engine.major_version()?;
assert!(major >= 16, "unexpected major version: {major}");
let version = engine.version_string()?;
assert!(
version.contains(&format!("({major}.")),
"version string {version:?} does not contain numeric major ({major}.)",
);
let is_64bit = engine.is_64bit()?;
if cfg!(target_pointer_width = "64") {
assert!(is_64bit, "expected 64-bit engine process for x86_64 target");
} else {
assert!(!is_64bit, "expected 32-bit engine process for i686 target");
}
Ok(())
}
#[test]
#[ignore = "requires a live TestStand engine"]
fn engine_reports_directories_of_the_active_installation() -> Result<(), Error> {
let engine = Engine::new()?;
for (label, value) in [
("TestStandDirectory", engine.teststand_directory()?),
("BinDirectory", engine.bin_directory()?),
("ConfigDirectory", engine.config_directory()?),
] {
assert!(!value.is_empty(), "{label} was empty");
assert!(
Path::new(&value).is_dir(),
"{label} does not exist on disk: {value}"
);
}
Ok(())
}