enable TestNet with custom spec
This commit is contained in:
parent
fc3d01ec71
commit
965dde8223
@ -102,6 +102,11 @@ impl TestBlockChainClient {
|
|||||||
/// Creates new test client.
|
/// Creates new test client.
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
let spec = Spec::new_test();
|
let spec = Spec::new_test();
|
||||||
|
TestBlockChainClient::new_with_spec(spec)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create test client with custom spec.
|
||||||
|
pub fn new_with_spec(spec: Spec) -> Self {
|
||||||
let mut client = TestBlockChainClient {
|
let mut client = TestBlockChainClient {
|
||||||
blocks: RwLock::new(HashMap::new()),
|
blocks: RwLock::new(HashMap::new()),
|
||||||
numbers: RwLock::new(HashMap::new()),
|
numbers: RwLock::new(HashMap::new()),
|
||||||
|
@ -19,6 +19,7 @@ use network::*;
|
|||||||
use tests::snapshot::*;
|
use tests::snapshot::*;
|
||||||
use ethcore::client::{TestBlockChainClient, BlockChainClient};
|
use ethcore::client::{TestBlockChainClient, BlockChainClient};
|
||||||
use ethcore::header::BlockNumber;
|
use ethcore::header::BlockNumber;
|
||||||
|
use ethcore::spec::Spec;
|
||||||
use ethcore::snapshot::SnapshotService;
|
use ethcore::snapshot::SnapshotService;
|
||||||
use sync_io::SyncIo;
|
use sync_io::SyncIo;
|
||||||
use chain::ChainSync;
|
use chain::ChainSync;
|
||||||
@ -128,6 +129,24 @@ impl TestNet {
|
|||||||
net
|
net
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn new_with_spec_file<R>(n: usize, reader: R) -> TestNet where R: Read + Clone {
|
||||||
|
let mut net = TestNet {
|
||||||
|
peers: Vec::new(),
|
||||||
|
started: false,
|
||||||
|
};
|
||||||
|
for _ in 0..n {
|
||||||
|
let chain = TestBlockChainClient::new_with_spec(Spec::load(reader.clone()).expect("Invalid spec file."));
|
||||||
|
let sync = ChainSync::new(SyncConfig::default(), &chain);
|
||||||
|
net.peers.push(TestPeer {
|
||||||
|
sync: RwLock::new(sync),
|
||||||
|
snapshot_service: Arc::new(TestSnapshotService::new()),
|
||||||
|
chain: chain,
|
||||||
|
queue: VecDeque::new(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
net
|
||||||
|
}
|
||||||
|
|
||||||
pub fn peer(&self, i: usize) -> &TestPeer {
|
pub fn peer(&self, i: usize) -> &TestPeer {
|
||||||
self.peers.get(i).unwrap()
|
self.peers.get(i).unwrap()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user