feat: update depot version to 0.12.0 and refactor environment variable handling in tests
This commit is contained in:
@@ -388,12 +388,14 @@ fn resolve_actual_src(
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::package::{Build, BuildFlags, BuildType, PackageInfo, PackageSpec};
|
||||
use crate::test_support::TestEnv;
|
||||
use tempfile::tempdir;
|
||||
|
||||
#[test]
|
||||
fn test_expand_env_vars_replaces_vars() {
|
||||
// Set a test env var
|
||||
unsafe { std::env::set_var("DEPOT_TEST_FOO", "bar") };
|
||||
let mut env = TestEnv::new();
|
||||
env.set_var("DEPOT_TEST_FOO", "bar");
|
||||
let input = "$DEPOT_TEST_FOO and ${DEPOT_TEST_FOO}";
|
||||
let out = expand_env_vars(input);
|
||||
assert!(out.contains("bar"));
|
||||
|
||||
+17
-21
@@ -326,6 +326,7 @@ pub fn build(
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::package::{Build, BuildFlags, BuildType, Dependencies, PackageInfo, PackageSpec};
|
||||
use crate::test_support::TestEnv;
|
||||
use std::collections::HashMap;
|
||||
use std::ffi::OsStr;
|
||||
use std::path::PathBuf;
|
||||
@@ -373,14 +374,13 @@ mod tests {
|
||||
// Set an env var that should be cleared
|
||||
cmd.env("FORBIDDEN", "value");
|
||||
// Set PATH manually in the current process to ensure it's picked up if it exists
|
||||
unsafe {
|
||||
std::env::set_var("PATH", "/usr/bin");
|
||||
std::env::set_var("HOME", "/home/test");
|
||||
std::env::set_var("SHELL", "/bin/zsh");
|
||||
std::env::set_var("DEPOT_ROOTFS", "/my/rootfs");
|
||||
std::env::set_var("TERM", "xterm-256color");
|
||||
std::env::set_var("CLICOLOR_FORCE", "1");
|
||||
}
|
||||
let mut env = TestEnv::new();
|
||||
env.set_var("PATH", "/usr/bin");
|
||||
env.set_var("HOME", "/home/test");
|
||||
env.set_var("SHELL", "/bin/zsh");
|
||||
env.set_var("DEPOT_ROOTFS", "/my/rootfs");
|
||||
env.set_var("TERM", "xterm-256color");
|
||||
env.set_var("CLICOLOR_FORCE", "1");
|
||||
|
||||
prepare_command(&mut cmd, &vec![("MYVAR".to_string(), "myval".to_string())]);
|
||||
|
||||
@@ -416,9 +416,8 @@ mod tests {
|
||||
#[test]
|
||||
fn test_prepare_command_preserves_destdir() {
|
||||
let mut cmd = std::process::Command::new("ls");
|
||||
unsafe {
|
||||
std::env::set_var("DESTDIR", "/tmp/dest");
|
||||
}
|
||||
let mut env = TestEnv::new();
|
||||
env.set_var("DESTDIR", "/tmp/dest");
|
||||
prepare_command(&mut cmd, &Vec::new());
|
||||
let envs: HashMap<_, _> = cmd.get_envs().collect();
|
||||
assert_eq!(
|
||||
@@ -430,10 +429,9 @@ mod tests {
|
||||
#[test]
|
||||
fn test_prepare_command_preserves_rust_toolchain_homes() {
|
||||
let mut cmd = std::process::Command::new("ls");
|
||||
unsafe {
|
||||
std::env::set_var("CARGO_HOME", "/var/cache/cargo-home");
|
||||
std::env::set_var("RUSTUP_HOME", "/var/cache/rustup-home");
|
||||
}
|
||||
let mut env = TestEnv::new();
|
||||
env.set_var("CARGO_HOME", "/var/cache/cargo-home");
|
||||
env.set_var("RUSTUP_HOME", "/var/cache/rustup-home");
|
||||
prepare_command(&mut cmd, &Vec::new());
|
||||
let envs: HashMap<_, _> = cmd.get_envs().collect();
|
||||
assert_eq!(
|
||||
@@ -581,9 +579,8 @@ mod tests {
|
||||
let mut spec = mk_spec(Vec::new(), Vec::new());
|
||||
spec.build.flags.passthrough_env = vec!["RUSTFLAGS".into()];
|
||||
|
||||
unsafe {
|
||||
std::env::set_var("RUSTFLAGS", "-C target-cpu=native");
|
||||
}
|
||||
let mut env = TestEnv::new();
|
||||
env.set_var("RUSTFLAGS", "-C target-cpu=native");
|
||||
|
||||
let env = standard_build_env(&spec, None, false, true);
|
||||
assert!(
|
||||
@@ -599,9 +596,8 @@ mod tests {
|
||||
spec.build.flags.cc = "spec-cc".to_string();
|
||||
spec.build.flags.passthrough_env = vec!["CC".into()];
|
||||
|
||||
unsafe {
|
||||
std::env::set_var("CC", "host-cc");
|
||||
}
|
||||
let mut env = TestEnv::new();
|
||||
env.set_var("CC", "host-cc");
|
||||
|
||||
let env = standard_build_env(&spec, None, true, true);
|
||||
assert!(
|
||||
|
||||
+3
-7
@@ -276,6 +276,7 @@ fn has_assignment_prefix(args: &[String], name: &str) -> bool {
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::package::{Build, BuildFlags, BuildType, Dependencies, PackageInfo};
|
||||
use crate::test_support::TestEnv;
|
||||
use std::os::unix::fs::PermissionsExt;
|
||||
use tempfile::tempdir;
|
||||
|
||||
@@ -378,10 +379,9 @@ exec "$@"
|
||||
"#,
|
||||
)?;
|
||||
|
||||
let mut env = TestEnv::new();
|
||||
let old_path = std::env::var("PATH").unwrap_or_default();
|
||||
unsafe {
|
||||
std::env::set_var("PATH", format!("{}:{}", tools_path.display(), old_path));
|
||||
}
|
||||
env.set_var("PATH", format!("{}:{}", tools_path.display(), old_path));
|
||||
|
||||
let mut spec = mk_spec("perl-test", "1.0");
|
||||
spec.build.flags.make_exec = tools_path.join("make").to_string_lossy().into_owned();
|
||||
@@ -389,10 +389,6 @@ exec "$@"
|
||||
|
||||
let build_result = build(&spec, src_path, dest_path, None, true);
|
||||
|
||||
unsafe {
|
||||
std::env::set_var("PATH", old_path);
|
||||
}
|
||||
|
||||
build_result?;
|
||||
|
||||
let perl_args = fs::read_to_string(src_path.join("perl-args.log"))?;
|
||||
|
||||
Reference in New Issue
Block a user