cli-test: Move `let mut args` closer to its uses

In case a `cd` command is to be processed, no replacement of
environment variables in arguments is performed. This means that the
definition of `let mut args` and the replacement itself can be moved
closer to where `args` is then actually used, which is easier to
reason about.
This commit is contained in:
Lorenz Leutgeb 2026-02-16 20:23:50 +01:00
parent 56ece480ee
commit 119445ce6c
No known key found for this signature in database
1 changed files with 8 additions and 8 deletions

View File

@ -410,14 +410,6 @@ impl TestFormula {
// For each command.
for (i, assertion) in test.assertions.iter().enumerate() {
// Expand environment variables.
let mut args = assertion.args.clone();
for arg in &mut args {
for (k, v) in run.envs() {
*arg = arg.replace(format!("${k}").as_str(), &v);
}
}
let location = assertion
.path
.file_name()
@ -447,6 +439,14 @@ impl TestFormula {
continue;
}
// Expand environment variables.
let mut args = assertion.args.clone();
for arg in &mut args {
for (k, v) in run.envs() {
*arg = arg.replace(format!("${k}").as_str(), &v);
}
}
if !run.path().exists() {
log::warn!(target: "test", "{location}: Directory {} does not exist. Creating..", run.path().display());
fs::create_dir_all(run.path())?;