build-blocks.rs 1.8 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Copyright 2020 Parity Technologies (UK) Ltd.
// This file is part of Polkadot.

// Polkadot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// Polkadot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.

17
use futures::{future, pin_mut, select};
18
19
20
21
use polkadot_test_service::*;
use service::TaskExecutor;
use sp_keyring::Sr25519Keyring;

22
23
#[substrate_test_utils::test]
async fn ensure_test_service_build_blocks(task_executor: TaskExecutor) {
24
25
26
27
28
29
30
31
32
	sc_cli::init_logger(
		sc_cli::InitLoggerParams {
			pattern: "".into(),
			tracing_receiver: Default::default(),
			tracing_targets: None,
			disable_log_reloading: false,
			disable_log_color: true,
		},
	).expect("Sets up logger");
33

34
	let mut alice = run_validator_node(
35
36
37
38
39
		task_executor.clone(),
		Sr25519Keyring::Alice,
		|| {},
		Vec::new(),
	);
40
	let mut bob = run_validator_node(
41
42
43
44
45
46
		task_executor.clone(),
		Sr25519Keyring::Bob,
		|| {},
		vec![alice.addr.clone()],
	);

47
48
49
50
	{
		let t1 = future::join(alice.wait_for_blocks(3), bob.wait_for_blocks(3)).fuse();
		let t2 = alice.task_manager.future().fuse();
		let t3 = bob.task_manager.future().fuse();
51

52
		pin_mut!(t1, t2, t3);
53

54
55
56
57
58
		select! {
			_ = t1 => {},
			_ = t2 => panic!("service Alice failed"),
			_ = t3 => panic!("service Bob failed"),
		}
59
60
	}

61
62
	alice.task_manager.clean_shutdown().await;
	bob.task_manager.clean_shutdown().await;
63
}