//! Ensure that we aren't relying on any non-system DLLs when running //! a "hello world" application by setting `PATH` to `C:\Windows\System32`. //@ only-windows use std::path::PathBuf; use std::process::Command; use run_make_support::{cwd, env_var, rustc}; fn main() { rustc().input("hello.rs").run(); let windows_dir = env_var("SystemRoot"); let system32: PathBuf = [&windows_dir, "System32"].iter().collect(); // Note: This does not use the support wrappers so that we can precisely control the PATH let exe = cwd().join("hello.exe"); let status = Command::new(exe).env("PATH", &system32).spawn().unwrap().wait().unwrap(); if !status.success() { panic!("Command failed!\noutput status: `{status}`"); } }