Skip to content

Commit 31cb1a1

Browse files
committed
feat: run simulation as an integration test
Signed-off-by: Arnaud Bailly <arnaud@pankzsoft.com>
1 parent dd4f053 commit 31cb1a1

2 files changed

Lines changed: 24 additions & 12 deletions

File tree

simulation/amaru-sim/src/simulator/mod.rs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,6 @@ pub struct Args {
7070
#[arg(long, default_value = "./chain.db")]
7171
pub chain_dir: PathBuf,
7272

73-
/// Path to the directory containing blockchain data such as epoch nonces.
74-
#[arg(long, default_value = "./data")]
75-
pub data_dir: PathBuf,
76-
7773
/// Generated "block tree" file in JSON
7874
#[arg(long, default_value = "./chain.json")]
7975
pub block_tree_file: PathBuf,
@@ -111,19 +107,16 @@ pub fn bootstrap(rt: tokio::runtime::Runtime, args: Args) {
111107
)
112108
.unwrap();
113109

114-
let chain_selector = make_chain_selector(Origin, &chain_store, &vec![]);
110+
// TODO: wire in more stages and in particular chain selection !!
111+
let _chain_selector = make_chain_selector(Origin, &chain_store, &vec![]);
115112
let chain_ref = Arc::new(Mutex::new(chain_store));
116113
let mut consensus = ValidateHeader::new(Arc::new(stake_distribution), chain_ref.clone());
117-
let mut store_header = StoreHeader::new(chain_ref.clone());
118-
let mut select_chain = SelectChain::new(chain_selector);
119-
114+
120115
run_simulator(
121116
rt,
122117
global_parameters.clone(),
123118
&mut consensus,
124119
&chain_data_path,
125-
&mut store_header,
126-
&mut select_chain,
127120
);
128121
}
129122

@@ -132,8 +125,6 @@ fn run_simulator(
132125
global: GlobalParameters,
133126
validate_header: &mut ValidateHeader,
134127
chain_data_path: &PathBuf,
135-
_store_header: &mut StoreHeader,
136-
_select_chain: &mut SelectChain,
137128
) {
138129
let config = Config::default();
139130
let number_of_nodes = 1;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
use amaru_kernel::Hash;
2+
use amaru_sim::simulator::{self, Args};
3+
4+
#[test]
5+
fn run_simulator() {
6+
let args = Args {
7+
stake_distribution_file: "tests/data/stake-distribution.json".into(),
8+
consensus_context_file: "tests/data/consensus-context.json".into(),
9+
chain_dir: ".".into(),
10+
block_tree_file: "tests/data/chain.json".into(),
11+
start_header: Hash::from([0; 32]),
12+
};
13+
14+
tracing_subscriber::fmt()
15+
.with_writer(std::io::stderr)
16+
.json()
17+
.init();
18+
19+
let rt = tokio::runtime::Runtime::new().unwrap();
20+
simulator::run(rt, args);
21+
}

0 commit comments

Comments
 (0)