mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 06:27:58 +00:00
8a7c17289a
* Update cargo.lock to use scale-info v2.4.0 Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * metadata: Retain only a subset of the metadata Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * codegen: Generate top level Event Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * metadata: Only retain DispatchError Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * metadata: Export just the retain method Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * cli: Retain pallets Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * metadata: Do not include extrinsic metadata Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * retain: Fix clippy Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * test-runtime: Generate per pallet metadata and rs file Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * ui-tests: Check per metadata generated files Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * Revert "test-runtime: Generate per pallet metadata and rs file" This reverts commit 725a2e5f8339a795892dbbd2df19e49330ae3a9b. Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * ui-tests: Adjust path to metadata file Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * ui-tests: Change drop order to keep `PalletMetadata` around Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * Update metadata/src/retain.rs Co-authored-by: James Wilson <james@jsdw.me> * Address feedback Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * retain: Keep extrinsic type Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * cli: Introduce `MetadataSource` Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * cli: Use `MetadataSource` helper Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * cli: Use `FileOrUrl` flatten command argument Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * retain: Do not include generic type params in retained metadata Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * Adjust subxt to scale-info v2.5.0 Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * Update scaleinfo to v2.5.0 Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * Remove deprecated fn Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * testing: Fix clippy Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * benches: Use inner fields of scale info Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * address nits, and strip RuntimeCall type instead of trying to filter out use of it for better overall wins/clarity * fix UI test * move utils out of commands folder and fix clippy etc * address nits --------- Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> Co-authored-by: James Wilson <james@jsdw.me>
62 lines
2.0 KiB
Rust
62 lines
2.0 KiB
Rust
// Copyright 2019-2023 Parity Technologies (UK) Ltd.
|
|
// This file is dual-licensed as Apache-2.0 or GPL-3.0.
|
|
// see LICENSE for license details.
|
|
#![cfg(test)]
|
|
|
|
//! UI test set uses [`trybuild`](https://docs.rs/trybuild/latest/trybuild/index.html) to
|
|
//! check whether expected valid examples of code compile correctly, and for incorrect ones
|
|
//! errors are helpful and valid (e.g. have correct spans).
|
|
//!
|
|
//!
|
|
//! Use with `TRYBUILD=overwrite` after updating codebase (see `trybuild` docs for more details on that)
|
|
//! to automatically regenerate `stderr` files, but don't forget to check that new files make sense.
|
|
|
|
mod dispatch_errors;
|
|
mod storage;
|
|
mod utils;
|
|
|
|
use crate::utils::{MetadataTestRunner, PalletMetadataTestRunner};
|
|
|
|
// Each of these tests leads to some rust code being compiled and
|
|
// executed to test that compilation is successful (or errors in the
|
|
// way that we'd expect).
|
|
#[test]
|
|
fn ui_tests() {
|
|
let mut m = MetadataTestRunner::default();
|
|
let mut p = PalletMetadataTestRunner::new();
|
|
let t = trybuild::TestCases::new();
|
|
|
|
t.pass("src/correct/*.rs");
|
|
|
|
// Check that storage maps with no keys are handled properly.
|
|
t.pass(m.path_to_ui_test_for_metadata(
|
|
"storage_map_no_keys",
|
|
storage::metadata_storage_map_no_keys(),
|
|
));
|
|
|
|
// Test that the codegen can handle the different types of DispatchError.
|
|
t.pass(m.path_to_ui_test_for_metadata(
|
|
"named_field_dispatch_error",
|
|
dispatch_errors::metadata_named_field_dispatch_error(),
|
|
));
|
|
t.pass(m.path_to_ui_test_for_metadata(
|
|
"legacy_dispatch_error",
|
|
dispatch_errors::metadata_legacy_dispatch_error(),
|
|
));
|
|
t.pass(m.path_to_ui_test_for_metadata(
|
|
"array_dispatch_error",
|
|
dispatch_errors::metadata_array_dispatch_error(),
|
|
));
|
|
|
|
// Ensure the generate per pallet metadata compiles.
|
|
while let Some(path) = p.path_to_next_ui_test() {
|
|
t.pass(path);
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn ui_fail() {
|
|
let t = trybuild::TestCases::new();
|
|
t.compile_fail("src/incorrect/*.rs");
|
|
}
|