Files
pezkuwi-subxt/substrate/test-utils/tests/basic.rs
T
Cecile Tonglet 93612c11f4 Add async test helper to timeout and provide a task_executor automatically (#6651)
* Initial commit

Forked at: 74655edebc
Parent branch: origin/master

* Add async test helper to timeout and provide a task_executor automatically

* simplify error message to avoid difference between CI and locally

* forgot env var

* Use runtime env var instead of build env var

* Rename variable to SUBSTRATE_TEST_TIMEOUT

* CLEANUP

Forked at: 74655edebc
Parent branch: origin/master

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Re-export from test-utils

* Default value to 120

* fix wrong crate in ci

* Revert "Default value to 120"

This reverts commit 8e458717078b242ffce7d3c4f66241d76f075125.

* Fix version

* WIP

Forked at: 74655edebc
Parent branch: origin/master

* WIP

Forked at: 74655edebc
Parent branch: origin/master

* WIP

Forked at: 74655edebc
Parent branch: origin/master

* remove feature flag

* fix missing dependency

* CLEANUP

Forked at: 74655edebc
Parent branch: origin/master

* fix test

* Removed autotests=false

* Some doc...

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* WIP

Forked at: 74655edebc
Parent branch: origin/master

* WIP

Forked at: 74655edebc
Parent branch: origin/master

* Update test-utils/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-08-12 14:07:11 +00:00

59 lines
1.8 KiB
Rust

// This file is part of Substrate.
// Copyright (C) 2020 Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
// This program 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.
// This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
use sc_service::{TaskExecutor, TaskType};
#[substrate_test_utils::test]
async fn basic_test(_: TaskExecutor) {
assert!(true);
}
#[substrate_test_utils::test]
#[should_panic(expected = "boo!")]
async fn panicking_test(_: TaskExecutor) {
panic!("boo!");
}
#[substrate_test_utils::test(max_threads = 2)]
async fn basic_test_with_args(_: TaskExecutor) {
assert!(true);
}
#[substrate_test_utils::test]
async fn rename_argument(ex: TaskExecutor) {
let ex2 = ex.clone();
ex2.spawn(Box::pin(async { () }), TaskType::Blocking);
assert!(true);
}
#[substrate_test_utils::test]
#[should_panic(expected = "test took too long")]
// NOTE: enable this test only after setting SUBSTRATE_TEST_TIMEOUT to a smaller value
//
// SUBSTRATE_TEST_TIMEOUT=1 cargo test -- --ignored timeout
#[ignore]
async fn timeout(_: TaskExecutor) {
tokio::time::delay_for(std::time::Duration::from_secs(
std::env::var("SUBSTRATE_TEST_TIMEOUT")
.expect("env var SUBSTRATE_TEST_TIMEOUT has been provided by the user")
.parse::<u64>()
.unwrap() + 1,
))
.await;
}