mirror of
https://github.com/pezkuwichain/revive-differential-tests.git
synced 2026-06-13 07:01:04 +00:00
Use the Test struct more in the code
This commit is contained in:
+36
-32
@@ -329,7 +329,7 @@ async fn does_compiler_support_mode<P: Platform>(
|
|||||||
async fn start_driver_task<'a, L, F>(
|
async fn start_driver_task<'a, L, F>(
|
||||||
args: &Arguments,
|
args: &Arguments,
|
||||||
tests: impl Stream<Item = Test<'a>>,
|
tests: impl Stream<Item = Test<'a>>,
|
||||||
report_tx: mpsc::UnboundedSender<(Test<'a>, CaseResult)>,
|
_: mpsc::UnboundedSender<(Test<'a>, CaseResult)>,
|
||||||
) -> anyhow::Result<impl Future<Output = ()>>
|
) -> anyhow::Result<impl Future<Output = ()>>
|
||||||
where
|
where
|
||||||
L: Platform,
|
L: Platform,
|
||||||
@@ -360,7 +360,6 @@ where
|
|||||||
move |test| {
|
move |test| {
|
||||||
let leader_nodes = leader_nodes.clone();
|
let leader_nodes = leader_nodes.clone();
|
||||||
let follower_nodes = follower_nodes.clone();
|
let follower_nodes = follower_nodes.clone();
|
||||||
let report_tx = report_tx.clone();
|
|
||||||
let cached_compiler = cached_compiler.clone();
|
let cached_compiler = cached_compiler.clone();
|
||||||
|
|
||||||
async move {
|
async move {
|
||||||
@@ -368,11 +367,7 @@ where
|
|||||||
let follower_node = follower_nodes.round_robbin();
|
let follower_node = follower_nodes.round_robbin();
|
||||||
|
|
||||||
let result = handle_case_driver::<L, F>(
|
let result = handle_case_driver::<L, F>(
|
||||||
test.metadata_file_path,
|
test,
|
||||||
test.metadata,
|
|
||||||
test.case_idx,
|
|
||||||
test.case,
|
|
||||||
test.mode.clone(),
|
|
||||||
args,
|
args,
|
||||||
cached_compiler,
|
cached_compiler,
|
||||||
leader_node,
|
leader_node,
|
||||||
@@ -380,9 +375,8 @@ where
|
|||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
report_tx
|
// TODO: We need to report the case success and failure in here.
|
||||||
.send((test, result))
|
let _ = result;
|
||||||
.expect("Failed to send report");
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
))
|
))
|
||||||
@@ -465,20 +459,16 @@ async fn start_reporter_task(mut report_rx: mpsc::UnboundedReceiver<(Test<'_>, C
|
|||||||
name = "Handling Case"
|
name = "Handling Case"
|
||||||
skip_all,
|
skip_all,
|
||||||
fields(
|
fields(
|
||||||
metadata_file_path = %metadata.relative_path().display(),
|
metadata_file_path = %test.metadata.relative_path().display(),
|
||||||
mode = %mode,
|
mode = %test.mode,
|
||||||
%case_idx,
|
case_idx = %test.case_idx,
|
||||||
case_name = case.name.as_deref().unwrap_or("Unnamed Case"),
|
case_name = test.case.name.as_deref().unwrap_or("Unnamed Case"),
|
||||||
leader_node = leader_node.id(),
|
leader_node = leader_node.id(),
|
||||||
follower_node = follower_node.id(),
|
follower_node = follower_node.id(),
|
||||||
)
|
)
|
||||||
)]
|
)]
|
||||||
async fn handle_case_driver<L, F>(
|
async fn handle_case_driver<L, F>(
|
||||||
metadata_file_path: &Path,
|
test: Test<'_>,
|
||||||
metadata: &MetadataFile,
|
|
||||||
case_idx: CaseIdx,
|
|
||||||
case: &Case,
|
|
||||||
mode: Mode,
|
|
||||||
config: &Arguments,
|
config: &Arguments,
|
||||||
cached_compiler: Arc<CachedCompiler>,
|
cached_compiler: Arc<CachedCompiler>,
|
||||||
leader_node: &L::Blockchain,
|
leader_node: &L::Blockchain,
|
||||||
@@ -504,14 +494,27 @@ where
|
|||||||
_,
|
_,
|
||||||
),
|
),
|
||||||
) = try_join!(
|
) = try_join!(
|
||||||
cached_compiler.compile_contracts::<L>(metadata, metadata_file_path, &mode, config, None),
|
cached_compiler.compile_contracts::<L>(
|
||||||
cached_compiler.compile_contracts::<F>(metadata, metadata_file_path, &mode, config, None)
|
test.metadata,
|
||||||
|
test.metadata_file_path,
|
||||||
|
&test.mode,
|
||||||
|
config,
|
||||||
|
None
|
||||||
|
),
|
||||||
|
cached_compiler.compile_contracts::<F>(
|
||||||
|
test.metadata,
|
||||||
|
test.metadata_file_path,
|
||||||
|
&test.mode,
|
||||||
|
config,
|
||||||
|
None
|
||||||
|
)
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
let mut leader_deployed_libraries = None::<HashMap<_, _>>;
|
let mut leader_deployed_libraries = None::<HashMap<_, _>>;
|
||||||
let mut follower_deployed_libraries = None::<HashMap<_, _>>;
|
let mut follower_deployed_libraries = None::<HashMap<_, _>>;
|
||||||
let mut contract_sources = metadata.contract_sources()?;
|
let mut contract_sources = test.metadata.contract_sources()?;
|
||||||
for library_instance in metadata
|
for library_instance in test
|
||||||
|
.metadata
|
||||||
.libraries
|
.libraries
|
||||||
.iter()
|
.iter()
|
||||||
.flatten()
|
.flatten()
|
||||||
@@ -551,7 +554,8 @@ where
|
|||||||
// Getting the deployer address from the cases themselves. This is to ensure that we're
|
// Getting the deployer address from the cases themselves. This is to ensure that we're
|
||||||
// doing the deployments from different accounts and therefore we're not slowed down by
|
// doing the deployments from different accounts and therefore we're not slowed down by
|
||||||
// the nonce.
|
// the nonce.
|
||||||
let deployer_address = case
|
let deployer_address = test
|
||||||
|
.case
|
||||||
.steps
|
.steps
|
||||||
.iter()
|
.iter()
|
||||||
.filter_map(|step| match step {
|
.filter_map(|step| match step {
|
||||||
@@ -626,16 +630,16 @@ where
|
|||||||
),
|
),
|
||||||
) = try_join!(
|
) = try_join!(
|
||||||
cached_compiler.compile_contracts::<L>(
|
cached_compiler.compile_contracts::<L>(
|
||||||
metadata,
|
test.metadata,
|
||||||
metadata_file_path,
|
test.metadata_file_path,
|
||||||
&mode,
|
&test.mode,
|
||||||
config,
|
config,
|
||||||
leader_deployed_libraries.as_ref()
|
leader_deployed_libraries.as_ref()
|
||||||
),
|
),
|
||||||
cached_compiler.compile_contracts::<F>(
|
cached_compiler.compile_contracts::<F>(
|
||||||
metadata,
|
test.metadata,
|
||||||
metadata_file_path,
|
test.metadata_file_path,
|
||||||
&mode,
|
&test.mode,
|
||||||
config,
|
config,
|
||||||
follower_deployed_libraries.as_ref()
|
follower_deployed_libraries.as_ref()
|
||||||
)
|
)
|
||||||
@@ -653,8 +657,8 @@ where
|
|||||||
);
|
);
|
||||||
|
|
||||||
let mut driver = CaseDriver::<L, F>::new(
|
let mut driver = CaseDriver::<L, F>::new(
|
||||||
metadata,
|
test.metadata,
|
||||||
case,
|
test.case,
|
||||||
leader_node,
|
leader_node,
|
||||||
follower_node,
|
follower_node,
|
||||||
leader_state,
|
leader_state,
|
||||||
|
|||||||
Reference in New Issue
Block a user