Skip to content

Commit cd48c32

Browse files
beebgrandizzy
andauthored
chore(deps): update soldeer (#12184)
* chore(deps): update soldeer * test: refactor to use `forge_fuse` --------- Co-authored-by: grandizzy <[email protected]>
1 parent bc7b068 commit cd48c32

File tree

3 files changed

+61
-6
lines changed

3 files changed

+61
-6
lines changed

Cargo.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,8 +359,8 @@ semver = "1"
359359
serde = { version = "1.0", features = ["derive"] }
360360
serde_json = { version = "1.0", features = ["arbitrary_precision"] }
361361
similar-asserts = "1.7"
362-
soldeer-commands = "=0.8.0"
363-
soldeer-core = { version = "=0.8.0", features = ["serde"] }
362+
soldeer-commands = "=0.9.0"
363+
soldeer-core = { version = "=0.9.0", features = ["serde"] }
364364
strum = "0.27"
365365
tempfile = "3.23"
366366
tokio = "1"

crates/forge/tests/cli/soldeer.rs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
use std::{fs, path::Path};
44

55
use foundry_test_utils::forgesoldeer;
6+
67
forgesoldeer!(install_dependency, |prj, cmd| {
78
let command = "install";
89
let dependency = "forge-std~1.8.1";
@@ -355,6 +356,60 @@ forgesoldeer!(login, |prj, cmd| {
355356
let _ = cmd.arg("soldeer").arg(command).assert_failure();
356357
});
357358

359+
forgesoldeer!(clean, |prj, cmd| {
360+
let dependency = "forge-std~1.8.1";
361+
let foundry_contents = r#"[profile.default]
362+
src = "src"
363+
out = "out"
364+
libs = ["lib", "dependencies"]
365+
366+
[dependencies]
367+
"#;
368+
let foundry_file = prj.root().join("foundry.toml");
369+
fs::write(&foundry_file, foundry_contents).unwrap();
370+
371+
cmd.args(["soldeer", "install", dependency]).assert_success();
372+
cmd.forge_fuse(); // reset command
373+
374+
// Making sure the path was created to the dependency and that foundry.toml exists
375+
// meaning that the dependencies were installed correctly
376+
let path_dep_forge =
377+
prj.root().join("dependencies").join("forge-std-1.8.1").join("foundry.toml");
378+
assert!(path_dep_forge.exists());
379+
380+
let command = "clean";
381+
cmd.arg("soldeer").args([command]).assert_success();
382+
// Dependencies should have been removed from disk
383+
assert!(!prj.root().join("dependencies").exists());
384+
});
385+
386+
forgesoldeer!(detect_project_root, |prj, cmd| {
387+
let command = "update";
388+
389+
let foundry_updates = r#"[profile.default]
390+
src = "src"
391+
out = "out"
392+
libs = ["lib", "dependencies"]
393+
394+
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
395+
396+
[dependencies]
397+
forge-std = "1.8.1"
398+
"#;
399+
let foundry_file = prj.root().join("foundry.toml");
400+
401+
fs::write(&foundry_file, foundry_updates).unwrap();
402+
403+
// run command from sub-directory
404+
cmd.set_current_dir(prj.root().join("src"));
405+
cmd.arg("soldeer").arg(command).assert_success();
406+
// Making sure the path was created to the dependency and that foundry.toml exists
407+
// meaning that the dependencies were installed correctly
408+
let path_dep_forge =
409+
prj.root().join("dependencies").join("forge-std-1.8.1").join("foundry.toml");
410+
assert!(path_dep_forge.exists());
411+
});
412+
358413
fn read_file_to_string(path: &Path) -> String {
359414
let contents: String = fs::read_to_string(path).unwrap_or_default();
360415
contents

0 commit comments

Comments
 (0)