Skip to content

Commit 6890be4

Browse files
committed
Merge branch 'master' into matt/bump-revm2
2 parents be67149 + f27a771 commit 6890be4

File tree

5 files changed

+113
-163
lines changed

5 files changed

+113
-163
lines changed

crates/forge/bin/cmd/script/multi.rs

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use super::{
55
ScriptArgs,
66
};
77
use ethers::signers::LocalWallet;
8-
use eyre::{ContextCompat, Result, WrapErr};
8+
use eyre::{ContextCompat, Report, Result, WrapErr};
99
use foundry_cli::utils::now;
1010
use foundry_common::{fs, get_http_provider};
1111
use foundry_compilers::{artifacts::Libraries, ArtifactId};
@@ -139,37 +139,35 @@ impl ScriptArgs {
139139
join_all(futs).await.into_iter().filter(|res| res.is_err()).collect::<Vec<_>>();
140140

141141
if !errors.is_empty() {
142-
return Err(eyre::eyre!("{errors:?}"))
142+
return Err(eyre::eyre!("{errors:?}"));
143143
}
144144
}
145145

146146
trace!(target: "script", "broadcasting multi chain deployments");
147147

148-
let futs = deployments
149-
.deployments
150-
.iter_mut()
151-
.map(|sequence| async {
152-
match self
153-
.send_transactions(
154-
sequence,
155-
&sequence.typed_transactions().first().unwrap().0.clone(),
156-
&script_wallets,
157-
)
158-
.await
159-
{
160-
Ok(_) => {
161-
if self.verify {
162-
return sequence.verify_contracts(config, verify.clone()).await
163-
}
164-
Ok(())
148+
let mut results: Vec<Result<(), Report>> = Vec::new();
149+
150+
for sequence in deployments.deployments.iter_mut() {
151+
let result = match self
152+
.send_transactions(
153+
sequence,
154+
&sequence.typed_transactions().first().unwrap().0.clone(),
155+
&script_wallets,
156+
)
157+
.await
158+
{
159+
Ok(_) => {
160+
if self.verify {
161+
return sequence.verify_contracts(config, verify.clone()).await
165162
}
166-
Err(err) => Err(err),
163+
Ok(())
167164
}
168-
})
169-
.collect::<Vec<_>>();
165+
Err(err) => Err(err),
166+
};
167+
results.push(result);
168+
}
170169

171-
let errors =
172-
join_all(futs).await.into_iter().filter(|res| res.is_err()).collect::<Vec<_>>();
170+
let errors = results.into_iter().filter(|res| res.is_err()).collect::<Vec<_>>();
173171

174172
if !errors.is_empty() {
175173
return Err(eyre::eyre!("{errors:?}"))

crates/forge/tests/cli/cmd.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -807,7 +807,7 @@ forgetest!(
807807
dss_exec_lib,
808808
"-vvv",
809809
]);
810-
cmd.print_output();
810+
cmd.assert_non_empty_stdout();
811811
}
812812
);
813813

@@ -1177,21 +1177,18 @@ contract ContractThreeTest is DSTest {
11771177
cmd.forge_fuse();
11781178
let first_out = cmd.arg("test").arg("--gas-report").stdout_lossy();
11791179
assert!(first_out.contains("foo") && first_out.contains("bar") && first_out.contains("baz"));
1180-
// cmd.arg("test").arg("--gas-report").print_output();
11811180

11821181
cmd.forge_fuse();
11831182
prj.write_config(Config { gas_reports: (vec![]), ..Default::default() });
11841183
cmd.forge_fuse();
11851184
let second_out = cmd.arg("test").arg("--gas-report").stdout_lossy();
11861185
assert!(second_out.contains("foo") && second_out.contains("bar") && second_out.contains("baz"));
1187-
// cmd.arg("test").arg("--gas-report").print_output();
11881186

11891187
cmd.forge_fuse();
11901188
prj.write_config(Config { gas_reports: (vec!["*".to_string()]), ..Default::default() });
11911189
cmd.forge_fuse();
11921190
let third_out = cmd.arg("test").arg("--gas-report").stdout_lossy();
11931191
assert!(third_out.contains("foo") && third_out.contains("bar") && third_out.contains("baz"));
1194-
// cmd.arg("test").arg("--gas-report").print_output();
11951192

11961193
cmd.forge_fuse();
11971194
prj.write_config(Config {
@@ -1205,7 +1202,6 @@ contract ContractThreeTest is DSTest {
12051202
cmd.forge_fuse();
12061203
let fourth_out = cmd.arg("test").arg("--gas-report").stdout_lossy();
12071204
assert!(fourth_out.contains("foo") && fourth_out.contains("bar") && fourth_out.contains("baz"));
1208-
// cmd.arg("test").arg("--gas-report").print_output();
12091205
});
12101206

12111207
forgetest!(gas_report_some_contracts, |prj, cmd| {
@@ -1310,7 +1306,6 @@ contract ContractThreeTest is DSTest {
13101306
cmd.forge_fuse();
13111307
let first_out = cmd.arg("test").arg("--gas-report").stdout_lossy();
13121308
assert!(first_out.contains("foo") && !first_out.contains("bar") && !first_out.contains("baz"));
1313-
// cmd.arg("test").arg("--gas-report").print_output();
13141309

13151310
// report for Two
13161311
cmd.forge_fuse();
@@ -1323,7 +1318,6 @@ contract ContractThreeTest is DSTest {
13231318
assert!(
13241319
!second_out.contains("foo") && second_out.contains("bar") && !second_out.contains("baz")
13251320
);
1326-
// cmd.arg("test").arg("--gas-report").print_output();
13271321

13281322
// report for Three
13291323
cmd.forge_fuse();
@@ -1334,7 +1328,6 @@ contract ContractThreeTest is DSTest {
13341328
cmd.forge_fuse();
13351329
let third_out = cmd.arg("test").arg("--gas-report").stdout_lossy();
13361330
assert!(!third_out.contains("foo") && !third_out.contains("bar") && third_out.contains("baz"));
1337-
// cmd.arg("test").arg("--gas-report").print_output();
13381331
});
13391332

13401333
forgetest!(gas_ignore_some_contracts, |prj, cmd| {
@@ -1439,7 +1432,6 @@ contract ContractThreeTest is DSTest {
14391432
cmd.forge_fuse();
14401433
let first_out = cmd.arg("test").arg("--gas-report").stdout_lossy();
14411434
assert!(!first_out.contains("foo") && first_out.contains("bar") && first_out.contains("baz"));
1442-
// cmd.arg("test").arg("--gas-report").print_output();
14431435

14441436
// ignore ContractTwo
14451437
cmd.forge_fuse();
@@ -1453,7 +1445,6 @@ contract ContractThreeTest is DSTest {
14531445
assert!(
14541446
second_out.contains("foo") && !second_out.contains("bar") && second_out.contains("baz")
14551447
);
1456-
// cmd.arg("test").arg("--gas-report").print_output();
14571448

14581449
// ignore ContractThree
14591450
cmd.forge_fuse();

crates/forge/tests/cli/doc.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,5 @@ use foundry_test_utils::util::{setup_forge_remote, RemoteProject};
44
fn can_generate_solmate_docs() {
55
let (prj, _) =
66
setup_forge_remote(RemoteProject::new("transmissions11/solmate").set_build(false));
7-
prj.forge_command()
8-
.args(["doc", "--build"])
9-
.ensure_execute_success()
10-
.expect("`forge doc` failed");
7+
prj.forge_command().args(["doc", "--build"]).assert_success();
118
}

crates/forge/tests/cli/ext_integration.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,13 @@ forgetest_external!(
1111
forgetest_external!(stringutils, "Arachnid/solidity-stringutils");
1212
forgetest_external!(lootloose, "gakonst/lootloose");
1313
forgetest_external!(lil_web3, "m1guelpf/lil-web3");
14-
forgetest_external!(snekmate, "pcaversaccio/snekmate");
14+
forgetest_external!(
15+
// https://github.com/foundry-rs/foundry/pull/6280
16+
// `run: pnpm --version` is ok, `Command::new("pnpm")` isn't. Good job Windows.
17+
#[cfg_attr(windows, ignore = "Windows cannot find installed programs")]
18+
snekmate,
19+
"pcaversaccio/snekmate"
20+
);
1521

1622
// Forking tests
1723

0 commit comments

Comments
 (0)