From f1c58ec041a05276d9f33562a5843c0bb7fb95b3 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Tue, 20 Aug 2024 10:11:43 -0400 Subject: feat(unstable): ability to use a local copy of jsr packages (#25068) --- tests/specs/mod.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'tests/specs/mod.rs') diff --git a/tests/specs/mod.rs b/tests/specs/mod.rs index c46969f4e..7a3572a94 100644 --- a/tests/specs/mod.rs +++ b/tests/specs/mod.rs @@ -53,6 +53,8 @@ struct MultiTestMetaData { #[serde(default)] pub envs: HashMap, #[serde(default)] + pub cwd: Option, + #[serde(default)] pub tests: BTreeMap, } @@ -73,6 +75,10 @@ impl MultiTestMetaData { if multi_test_meta_data.temp_dir && !value.contains_key("tempDir") { value.insert("tempDir".to_string(), true.into()); } + if multi_test_meta_data.cwd.is_some() && !value.contains_key("cwd") { + value + .insert("cwd".to_string(), multi_test_meta_data.cwd.clone().into()); + } if !multi_test_meta_data.envs.is_empty() { if !value.contains_key("envs") { value.insert("envs".to_string(), JsonMap::default().into()); @@ -112,6 +118,8 @@ struct MultiStepMetaData { #[serde(default)] pub base: Option, #[serde(default)] + pub cwd: Option, + #[serde(default)] pub envs: HashMap, #[serde(default)] pub repeat: Option, @@ -136,6 +144,7 @@ impl SingleTestMetaData { pub fn into_multi(self) -> MultiStepMetaData { MultiStepMetaData { base: self.base, + cwd: None, temp_dir: self.temp_dir, repeat: self.repeat, envs: Default::default(), @@ -371,7 +380,7 @@ fn run_step( VecOrString::Vec(args) => command.args_vec(args), VecOrString::String(text) => command.args(text), }; - let command = match &step.cwd { + let command = match step.cwd.as_ref().or(metadata.cwd.as_ref()) { Some(cwd) => command.current_dir(cwd), None => command, }; -- cgit v1.2.3