Files
pezkuwi-subxt/test-runtime/README.md
T
James Wilson 4b9ee133ac Ensure metadata is in sync with running node during tests (#333)
* add test-runtime crate to dynamically obtain metadata/node_runtime for tests

* cargo fmt

* Download substrate prior to cargo calls (hopefully)

* add README explaining test-runtime

* Fix CI, fmt and clippy

* more clippy

* tweak test-node readme

* fmt the clippied

* A little tidy up in build.rs

* use ureq and raw string

* Don't export unnecessary metadata

* async_std/RpcClient/bytes instead of ureq/Value/hex

* newline

* document try_from_url error unwrap
2021-11-29 09:39:40 +00:00

717 B

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.