mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 14:37:57 +00:00
729cba9d9e
* sc-client-db: utils::open_database(...) — return OpenDbError so that the caller could tell the `OpenDbError::DoesNotExist` clearly * sc-client-db: utils::open_database(..) — accept the `create: bool` argument * sc-client-db: pruning — optional argument in the DatabaseSettings * sc-state-db: Split `Error<E>` into separate `Error<E>` and `StateDbError` * StateDb::open: choose the pruning-mode depending on the requested and stored values * sc-state-db: test for different combinations of stored and requested pruning-modes * CLI-argument: mark the unsafe-pruning as deprecated * Fix tests * tests: do not specify --pruning when running the substrate over the existing storage * fix types for benches * cargo fmt * Check whether the pruning-mode and sync-mode are compatible * cargo fmt * parity-db: 0.3.11 -> 0.3.12 * sc-state-db: MetaDb::set_meta — a better doc-test * cargo fmt * make MetaDb read-only again! * Remove the stray newline (and run the CI once again please) * Last nitpicks * A more comprehensive error message
48 lines
1.6 KiB
Rust
48 lines
1.6 KiB
Rust
// This file is part of Substrate.
|
|
|
|
// Copyright (C) 2022 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/>.
|
|
|
|
// Unix only since it uses signals from [`common::run_node_for_a_while`].
|
|
#![cfg(unix)]
|
|
|
|
use assert_cmd::cargo::cargo_bin;
|
|
use std::process::Command;
|
|
use tempfile::tempdir;
|
|
|
|
pub mod common;
|
|
|
|
/// `benchmark block` works for the dev runtime using the wasm executor.
|
|
#[tokio::test]
|
|
async fn benchmark_block_works() {
|
|
let base_dir = tempdir().expect("could not create a temp dir");
|
|
|
|
common::run_node_for_a_while(base_dir.path(), &["--dev", "--no-hardware-benchmarks"]).await;
|
|
|
|
// Invoke `benchmark block` with all options to make sure that they are valid.
|
|
let status = Command::new(cargo_bin("substrate"))
|
|
.args(["benchmark", "block", "--dev"])
|
|
.arg("-d")
|
|
.arg(base_dir.path())
|
|
.args(["--from", "1", "--to", "1"])
|
|
.args(["--repeat", "1"])
|
|
.args(["--execution", "wasm", "--wasm-execution", "compiled"])
|
|
.status()
|
|
.unwrap();
|
|
|
|
assert!(status.success())
|
|
}
|