Add failing test for overriding directly linked CUDA dll

This commit is contained in:
Andrzej Janik 2021-11-30 01:25:51 +01:00
parent 3558a0a65c
commit fd1c13560f
2 changed files with 24 additions and 20 deletions

View file

@ -1,13 +1,23 @@
use std::{env, io, process::Command};
use std::{env, io, path::PathBuf, process::Command};
#[test]
fn direct_cuinit() -> io::Result<()> {
let zluda_with_exe = PathBuf::from(env!("CARGO_BIN_EXE_zluda_with"));
let mut zluda_redirect_dll = zluda_with_exe.parent().unwrap().to_path_buf();
zluda_redirect_dll.push("zluda_redirect.dll");
let helpers_dir = env!("HELPERS_OUT_DIR");
let mut main_exe = Command::new(format!(
let exe_under_test = format!(
"{}{}direct_cuinit.exe",
helpers_dir,
std::path::MAIN_SEPARATOR
));
assert!(main_exe.status()?.success());
);
let mut test_cmd = Command::new(&zluda_with_exe);
test_cmd
.arg(&zluda_redirect_dll)
.arg("--")
.arg(&exe_under_test);
let test_output = test_cmd.output()?;
let stderr_text = String::from_utf8(test_output.stderr).unwrap();
assert!(stderr_text.contains("ZLUDA_DUMP"));
Ok(())
}