mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 08:51:09 +00:00
Add more tests for events.rs/decode_and_consume_type (#430)
* test-runtime: Fix README typo Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * test-runtime: Explicit error handling for missing substrate binary Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * test-runtime: Fix documentation typo Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * events: Test primitive decode_and_consume Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * events: Test tuple decode_and_consume Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * events: Test array decode_and_consume Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * events: Extend array with sequences Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * events: Test variant decode_and_consume Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * events: Test composite decode_and_consume Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> * events: Test compact decode_and_consume Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
This commit is contained in:
@@ -3,8 +3,8 @@
|
||||
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).
|
||||
- Spin up a local `substrate` binary (set the `SUBSTRATE_NODE_PATH` env var to point to a custom binary, otherwise 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.
|
||||
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.
|
||||
|
||||
@@ -58,6 +58,10 @@ async fn run() {
|
||||
.spawn();
|
||||
let mut cmd = match cmd {
|
||||
Ok(cmd) => KillOnDrop(cmd),
|
||||
Err(ref e) if e.kind() == std::io::ErrorKind::NotFound => {
|
||||
panic!("A substrate binary should be installed on your path for testing purposes. \
|
||||
See https://github.com/paritytech/subxt/tree/master#integration-testing")
|
||||
}
|
||||
Err(e) => {
|
||||
panic!("Cannot spawn substrate command '{}': {}", substrate_bin, e)
|
||||
}
|
||||
@@ -164,7 +168,7 @@ fn next_open_port() -> Option<u16> {
|
||||
}
|
||||
}
|
||||
|
||||
/// If the substrate process isn't explicilty killed on drop,
|
||||
/// If the substrate process isn't explicitly killed on drop,
|
||||
/// it seems that panics that occur while the command is running
|
||||
/// will leave it running and block the build step from ever finishing.
|
||||
/// Wrapping it in this prevents this from happening.
|
||||
|
||||
Reference in New Issue
Block a user