mirror of
https://github.com/pezkuwichain/revive-differential-tests.git
synced 2026-04-26 00:27:59 +00:00
Update report to use better map data structures
This commit is contained in:
Generated
+1
@@ -4589,6 +4589,7 @@ name = "revive-dt-report"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"indexmap 2.10.0",
|
||||
"paste",
|
||||
"revive-dt-common",
|
||||
"revive-dt-compiler",
|
||||
|
||||
@@ -16,6 +16,7 @@ use anyhow::Context;
|
||||
use clap::Parser;
|
||||
use futures::stream;
|
||||
use futures::{Stream, StreamExt};
|
||||
use indexmap::IndexMap;
|
||||
use revive_dt_node_interaction::EthereumNode;
|
||||
use revive_dt_report::{ReportAggregator, Reporter, TestSpecificReporter, TestSpecifier};
|
||||
use temp_dir::TempDir;
|
||||
@@ -261,7 +262,7 @@ where
|
||||
.reporter
|
||||
.report_test_ignored_event(
|
||||
"Either the leader or the follower do not support the target desired by the test",
|
||||
HashMap::from_iter([
|
||||
IndexMap::from_iter([
|
||||
(
|
||||
"test_desired_targets".to_string(),
|
||||
serde_json::to_value(test.metadata.targets.as_ref())
|
||||
@@ -295,7 +296,7 @@ where
|
||||
.reporter
|
||||
.report_test_ignored_event(
|
||||
"Metadata file is ignored, therefore all cases are ignored",
|
||||
HashMap::new(),
|
||||
IndexMap::new(),
|
||||
)
|
||||
.expect("Can't fail");
|
||||
false
|
||||
@@ -315,7 +316,7 @@ where
|
||||
.reporter
|
||||
.report_test_ignored_event(
|
||||
"Case is ignored",
|
||||
HashMap::new(),
|
||||
IndexMap::new(),
|
||||
)
|
||||
.expect("Can't fail");
|
||||
false
|
||||
@@ -344,7 +345,7 @@ where
|
||||
.reporter
|
||||
.report_test_ignored_event(
|
||||
"EVM version is incompatible with either the leader or the follower",
|
||||
HashMap::from_iter([
|
||||
IndexMap::from_iter([
|
||||
(
|
||||
"test_desired_evm_version".to_string(),
|
||||
serde_json::to_value(test.metadata.required_evm_version)
|
||||
@@ -395,7 +396,7 @@ where
|
||||
.reporter
|
||||
.report_test_ignored_event(
|
||||
"Compilers do not support this mode either for the leader or for the follower.",
|
||||
HashMap::from_iter([
|
||||
IndexMap::from_iter([
|
||||
(
|
||||
"leader_support".to_string(),
|
||||
serde_json::to_value(leader_support)
|
||||
|
||||
@@ -15,6 +15,7 @@ revive-dt-compiler = { workspace = true }
|
||||
|
||||
anyhow = { workspace = true }
|
||||
paste = { workspace = true }
|
||||
indexmap = { workspace = true, features = ["serde"] }
|
||||
semver = { workspace = true }
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
|
||||
@@ -2,12 +2,13 @@
|
||||
//! reporters and combines them into a single unified report.
|
||||
|
||||
use std::{
|
||||
collections::{BTreeSet, HashMap, HashSet},
|
||||
collections::{BTreeMap, BTreeSet, HashMap, HashSet},
|
||||
fs::OpenOptions,
|
||||
time::{SystemTime, UNIX_EPOCH},
|
||||
};
|
||||
|
||||
use anyhow::Result;
|
||||
use indexmap::IndexMap;
|
||||
use revive_dt_compiler::Mode;
|
||||
use revive_dt_config::Arguments;
|
||||
use revive_dt_format::{case::CaseIdx, corpus::Corpus};
|
||||
@@ -157,9 +158,9 @@ pub struct Report {
|
||||
/// The list of metadata files that were found by the tool.
|
||||
pub metadata_files: BTreeSet<MetadataFilePath>,
|
||||
/// Information relating to each test case.
|
||||
#[serde_as(as = "HashMap<_, HashMap<DisplayFromStr, HashMap<DisplayFromStr, _>>>")]
|
||||
#[serde_as(as = "BTreeMap<_, HashMap<DisplayFromStr, BTreeMap<DisplayFromStr, _>>>")]
|
||||
pub test_case_information:
|
||||
HashMap<MetadataFilePath, HashMap<Mode, HashMap<CaseIdx, TestCaseReport>>>,
|
||||
BTreeMap<MetadataFilePath, HashMap<Mode, BTreeMap<CaseIdx, TestCaseReport>>>,
|
||||
}
|
||||
|
||||
impl Report {
|
||||
@@ -188,5 +189,5 @@ pub struct TestCaseIgnoreInformation {
|
||||
pub reason: String,
|
||||
/// Additional fields that describe more information on why the test case is ignored.
|
||||
#[serde(flatten)]
|
||||
pub additional_fields: HashMap<String, serde_json::Value>,
|
||||
pub additional_fields: IndexMap<String, serde_json::Value>,
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
//! The types associated with the events sent by the runner to the reporter.
|
||||
#![allow(dead_code)]
|
||||
|
||||
use std::{collections::HashMap, sync::Arc};
|
||||
use std::sync::Arc;
|
||||
|
||||
use indexmap::IndexMap;
|
||||
use revive_dt_format::corpus::Corpus;
|
||||
use revive_dt_format::metadata::Metadata;
|
||||
use tokio::sync::{broadcast, oneshot};
|
||||
@@ -264,7 +265,7 @@ define_event! {
|
||||
/// A reason for the test to be ignored.
|
||||
reason: String,
|
||||
/// Additional fields that describe more information on why the test was ignored.
|
||||
additional_fields: HashMap<String, serde_json::Value>
|
||||
additional_fields: IndexMap<String, serde_json::Value>
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user