diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-08-20 10:11:43 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-20 14:11:43 +0000 |
commit | f1c58ec041a05276d9f33562a5843c0bb7fb95b3 (patch) | |
tree | dc4bca4eab617e75474e19a7491ed88d5ee64fef /tests/specs/mod.rs | |
parent | 19bcb40059f6ba730b6d05d8edf005c6b40f6ff8 (diff) |
feat(unstable): ability to use a local copy of jsr packages (#25068)
Diffstat (limited to 'tests/specs/mod.rs')
-rw-r--r-- | tests/specs/mod.rs | 11 |
1 files changed, 10 insertions, 1 deletions
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<String, String>, #[serde(default)] + pub cwd: Option<String>, + #[serde(default)] pub tests: BTreeMap<String, JsonMap>, } @@ -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<String>, #[serde(default)] + pub cwd: Option<String>, + #[serde(default)] pub envs: HashMap<String, String>, #[serde(default)] pub repeat: Option<usize>, @@ -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, }; |