Files
pezkuwi-subxt/test-runtime
James Wilson 5db9b73899 Implement new API for sign_and_submit_then_watch (#354)
* WIP Implementing new event subscription API

* back to lifetimes, fix example

* no more need for accept_weak_inclusion

* thread lifetime through to prevent 'temporary dropped' issue

* make working with events a little nicer

* Get tests compiling

* fmt and clippy

* _name back to name

* dont take ownership, just have stronger note

* Attempt to fix test

* remove commented-out code

* Add a couple more helper methods and a test

* Remove custom ExtrinsicFailed handling; treat them like other events

* Handle runtime errors in TransactionProgress related bits

* cargo fmt + clippy

* Fix some of the failing tests

* remove unused import

* fix transfer_error test

* Fix compile errors against new substrate latest

* Comment tweaks, and force test-runtime rebuild

* Drop the TransactionProgress subscription when we hit 'end' statuses

* cargo fmt

* find_event to find_first_event and helper to return all matching events

* TransactionProgressStatus to TransactionStatus

* Copy and improve docs on TransactionStatus from substrate

* debug impl for Client to avoid manual debug impls elsewhere

* Add and tweak comments, specifically a note about block inclusion on errors

* clippy + fmt

* Fix docs

* Ignore 'error' statuses and adhere to the substrate docs

* tweak and improve some comments per @dvdplm's suggestions

* Break transaction* structs into separate file

* fmt and fix doc link
2021-12-09 12:23:08 +00:00
..

test-runtime

The logic for this crate exists mainly in the build.rs file.

At compile time, this crate will:

  • Spin up a local substrate binary (set the SUBSTRATE_NODE_PATH env var to point to a custom binary, otehrwise it'll look for substrate on your PATH).
  • Obtain metadata from this node.
  • Export the metadata and a node_runtime module which has been annotated using the subxt proc macro and is based off the above metadata.

The reason for doing this is that our integration tests (which also spin up a Substrate node) can then use the generated subxt types from the exact node being tested against, so that we don't have to worry about metadata getting out of sync with the binary under test.