mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 13:27:57 +00:00
42e5c27c84
* add stub for new benchmark macro
* benchmark syntax
* add #[extrinsic call] separator
* parse #[benchmark] item as a function
* proper emission of error when #[extrinsic_call] annotation is missing
* clean up
* enclosing module via benchmarks! { } working
* use an attribute macro on the module instead of benchmarks! { }
* cargo fmt
* working component implementation
* WIP
* working
* add syntax for Linear<A, B>
* parsing of param ranges (still need to build tuple though)
* params parsing WIP
* clean up (don't need extrinsic call name)
* use proper Result syntax for BenchmarkDef parsing
* proper parsing of Linear<0, 1> style args
* successfully parse and make use of linear component ranges 💥
* rename support variable => home because eventually will be moved
* compile-time check that param range types implement ParamRange
* switch to using balances as example, failing on instance pallet
* successfully set up __origin and __call with balances 💥
* clean up
* use a module
* don't need a variable for transfer
* rename benchmark_transfer -> transfer because no longer conflicts
* clean up
* working with transfer_increasing_users as well 💥
* re-add BareBlock
* add comments for undocumented structs+functions+traits
* refactor in preparation for removing module requirements
* switch to a block instead of a module
* use the outer macro pattern to to enable #[benchmarks] aggregation
* successfully generate SelectedBenchmark 💥
* implement components for SelectedBenchmark
* implement instance for SelectedBenchmark
* properly track #[extra]
* working impl for fn benchmarks()
* run_benchmarks WIP
* finish run_benchmark! impl 💥
* import balances transfer_best_case benchmark
* import transfer_keep_alive balances pallet benchmark
* import set_balance_creating balances pallet benchmark
* import set_balance_killing balances pallet benchmark
* import force_transfer balances pallet benchmark
* add #[extra] annotation and docs to transfer_increasing_users
* import transfer_all balances pallet benchmark
* import force_unreserve balances pallet benchmark
* prepare to implement impl_benchmark_test_suite!
* ensure tests cover #[extra] before and after #[benchmark] tag
* refactor
* clean up
* fix
* move to outer
* switch to benchmarks/instance_benchmarks
* test impl almost done, strange compiler error
* benchmark test suites working 💥
* clean up
* add stub and basic parsing for where_clause
* working except where clause and extrinsic calls containing method chains
* assume option (2) for now wrt https://github.com/paritytech/substrate/pull/12924#issuecomment-1372938718
* clean up
* switch to attribute-style
* properly handle where clauses
* fix subtle missing where clause, now just MessageQueue issues
* fix block formatting in message-queue pallet
* switch to block vs non-block parsing of extrinsic call
* working now but some benchmark tests failing
* message-queue tests working (run order issue fixed) 🎉
* add comments and internal docs for fame_support_procedural::benchmark
* fix license years
* docs for lib.rs
* add docs to new support procedural macros
* don't allow #[benchmark] outside of benchmarking module
* add docs
* use benchmark(extra, skip_meta) style args
* update docs accordingly
* appease clippy
* bump ci
* add notes about `extra` and `skip_meta`
* fix doc tests
* re-run CI
* use `ignore` instead of `no_run` on doc examples
* bump CI
* replace some if-lets with if-elses
* more refactoring of if-let statements
* fix remaining if-lets in BenchmarkDef::from()
* fix if-lets in benchmarks()
* fix remaining if-lets, use nested find_map for extrinsic call
* switch to use #[extrinsic_call] or #[block] situationally
* refactor ExtrinsicCallDef => BenchmarkCallDef
* update docs with info about #[block]
* add macro stub for #[extrinsic_call]
* fix docs and add stub for #[block] as well
* remove unused extern crate line
* fix clippy nits
* Use V2 bench syntax in pallet-example-basic
Just testing the dev-ex...
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* carry over comment
* use curly-brace style for impl_benchmark_test_suite!
* remove unneeded parenthesis
* proper handling of _() extrinsic call style
* add docs for _() syntax
* fix crate access
* simplify keyword access
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* simplify module content destructuring
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* fix crate access "frame_benchmarking" => "frame-benchmarking", compiles
* use _() extrinsic call syntax where possible in balances
* simplify attr.path.segments.last()
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* fix compile error being suppressed
* simplify extrinsic call keyword parsing
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* use ? operator instead of return None
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* rename generics => type_use_generics
rename full_generics => type_impl_generics
* simplify extrinsic call extraction with transpose
* bump CI
* nit
* proper handling of too many + too few block/extrinsic call annotations
* change to B >= A
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* remove unneeded ignore
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* remove another ignore
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* add ui tests
* use _() style extrinsic call on accumulate_dummy
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* add range check to ParamRange
* ui test for bad param ranges
* fix failing example
* add ignore back to other failing example
* tweak expr_call span
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* fix typo
* eliminate a match
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* change pub fn benchmarks to return Result<TokenStream>
* fix origin error span
* more informative error for invalid benchmark parameter name
* fix spans on a few benchmark errors
* remove unneeded clone
* refactor inner loop of benchmark function parsing
* preserve mod attributes
* refactor outer loop of benchmark def parsing code, greatly simplified
* simplify to use a ? operator when parsing benchmark attr path
* fix another ? operator
* further simplify benchmark function attr parsing with more ? ops
* refactor extrinsic call handling to use if let rather than match
* replace is_ok => is_err
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* re-use name during expansion of benchmark def
* remove unneeded clone
* fix span for origin missing error
* fix missing semi
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
Co-authored-by: parity-processbot <>
60 lines
2.5 KiB
TOML
60 lines
2.5 KiB
TOML
[package]
|
|
name = "frame-support-test"
|
|
version = "3.0.0"
|
|
authors = ["Parity Technologies <admin@parity.io>"]
|
|
edition = "2021"
|
|
license = "Apache-2.0"
|
|
publish = false
|
|
homepage = "https://substrate.io"
|
|
repository = "https://github.com/paritytech/substrate/"
|
|
|
|
[package.metadata.docs.rs]
|
|
targets = ["x86_64-unknown-linux-gnu"]
|
|
|
|
[dependencies]
|
|
serde = { version = "1.0.136", default-features = false, features = ["derive"] }
|
|
codec = { package = "parity-scale-codec", version = "3.2.2", default-features = false, features = ["derive"] }
|
|
scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
|
|
sp-arithmetic = { version = "6.0.0", default-features = false, path = "../../../primitives/arithmetic" }
|
|
sp-io = { version = "7.0.0", path = "../../../primitives/io", default-features = false }
|
|
sp-state-machine = { version = "0.13.0", optional = true, path = "../../../primitives/state-machine" }
|
|
frame-support = { version = "4.0.0-dev", default-features = false, path = "../" }
|
|
frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../../benchmarking" }
|
|
sp-runtime = { version = "7.0.0", default-features = false, path = "../../../primitives/runtime" }
|
|
sp-core = { version = "7.0.0", default-features = false, path = "../../../primitives/core" }
|
|
sp-std = { version = "5.0.0", default-features = false, path = "../../../primitives/std" }
|
|
sp-version = { version = "5.0.0", default-features = false, path = "../../../primitives/version" }
|
|
trybuild = { version = "1.0.74", features = [ "diff" ] }
|
|
pretty_assertions = "1.2.1"
|
|
rustversion = "1.0.6"
|
|
frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" }
|
|
# The "std" feature for this pallet is never activated on purpose, in order to test construct_runtime error message
|
|
test-pallet = { package = "frame-support-test-pallet", default-features = false, path = "pallet" }
|
|
|
|
[features]
|
|
default = ["std"]
|
|
std = [
|
|
"serde/std",
|
|
"codec/std",
|
|
"scale-info/std",
|
|
"frame-benchmarking/std",
|
|
"frame-support/std",
|
|
"frame-system/std",
|
|
"sp-core/std",
|
|
"sp-std/std",
|
|
"sp-io/std",
|
|
"sp-runtime/std",
|
|
"sp-state-machine",
|
|
"sp-arithmetic/std",
|
|
"sp-version/std",
|
|
]
|
|
try-runtime = ["frame-support/try-runtime"]
|
|
# WARNING:
|
|
# Only CI runs with this feature enabled. This feature is for testing stuff related to the FRAME macros
|
|
# in conjunction with rust features.
|
|
frame-feature-testing = []
|
|
frame-feature-testing-2 = []
|
|
# Disable ui tests
|
|
disable-ui-tests = []
|
|
no-metadata-docs = ["frame-support/no-metadata-docs"]
|