`test-runtime`: `GenesisBuilder` runtime API impl + tests (#14310)
* test-runtime: GenesisBuilder runtime API impl + tests This PR provides implementation of `GenesisBuilder` API for `substrate-test-runtime`, can be considered as reference imiplementation for other runtimes. The `GenesisBuilder` implementation is gated by `gensis-config` feature. Tested scenarios: - default `GenesisConfig` to JSON blob, - deserialization of `GenesisConfig` from custom JSON, and storing its keys into the Storage (genesis storage creation). - creation of genesis storage using partial JSON definition, - checking if invalid/renamed JSON files causes the runtime to panic, * missing file added * client: GenesisBuilder helper added * feature renamed: genesis-config -> genesis-builder * Update Cargo.toml * Update Cargo.toml * Update Cargo.toml * Update Cargo.toml * redundant function removed * genesis builder helper: introduced RuntimeGenesisBuild * test-runtime: get rid of unused T * redundant bound removed * helper: use GenesisBuild again * tests adjusted for on_genesis * test-runtime: support for BuildGenesisConfig * helper: BuildGenesisConfig support * Update client/genesis-builder/src/lib.rs Co-authored-by:Davide Galassi <davxy@datawok.net> * Update test-utils/runtime/src/test_json/readme.md Co-authored-by:
Davide Galassi <davxy@datawok.net> * Update test-utils/runtime/src/test_json/readme.md Co-authored-by:
Davide Galassi <davxy@datawok.net> * Update test-utils/runtime/src/genesismap.rs Co-authored-by:
Davide Galassi <davxy@datawok.net> * jsons are now human-friendly * fix * improvements * jsons fixed * helper: no_defaults added * test-runtime: no_defaults added * test-runtime: patching fn removed * helper: patching fn removed * helper: moved to frame_support * test-runtime: fixes * Cargo.lock updated * fmt + naming * test-runtime: WasmExecutor used * helper / test-runtime: struct removed * test-runtime: merge fixes * Cargo.lock + test-utils/runtime/Cargo.toml updated * doc fixed * client/rpc: test fixed (new rt api) * client/rpc-spec-v2: test fix * doc fix * test-runtime: disable-genesis-builder feature * fix * fix * ".git/.scripts/commands/fmt/fmt.sh" * test-runtime: rerun added to build script --------- Co-authored-by:
Davide Galassi <davxy@datawok.net> Co-authored-by: parity-processbot <>
Showing
- substrate/Cargo.lock 17 additions, 0 deletionssubstrate/Cargo.lock
- substrate/client/rpc-spec-v2/src/chain_head/tests.rs 1 addition, 1 deletionsubstrate/client/rpc-spec-v2/src/chain_head/tests.rs
- substrate/client/rpc/src/state/tests.rs 1 addition, 1 deletionsubstrate/client/rpc/src/state/tests.rs
- substrate/frame/support/Cargo.toml 3 additions, 1 deletionsubstrate/frame/support/Cargo.toml
- substrate/frame/support/src/genesis_builder_helper.rs 41 additions, 0 deletionssubstrate/frame/support/src/genesis_builder_helper.rs
- substrate/frame/support/src/lib.rs 3 additions, 0 deletionssubstrate/frame/support/src/lib.rs
- substrate/test-utils/runtime/Cargo.toml 15 additions, 5 deletionssubstrate/test-utils/runtime/Cargo.toml
- substrate/test-utils/runtime/build.rs 15 additions, 0 deletionssubstrate/test-utils/runtime/build.rs
- substrate/test-utils/runtime/src/genesismap.rs 15 additions, 11 deletionssubstrate/test-utils/runtime/src/genesismap.rs
- substrate/test-utils/runtime/src/lib.rs 264 additions, 5 deletionssubstrate/test-utils/runtime/src/lib.rs
- substrate/test-utils/runtime/src/test_json/README.md 24 additions, 0 deletionssubstrate/test-utils/runtime/src/test_json/README.md
- substrate/test-utils/runtime/src/test_json/default_genesis_config.json 115 additions, 0 deletions...t-utils/runtime/src/test_json/default_genesis_config.json
- substrate/test-utils/runtime/src/test_json/default_genesis_config_incomplete.json 101 additions, 0 deletions...time/src/test_json/default_genesis_config_incomplete.json
- substrate/test-utils/runtime/src/test_json/default_genesis_config_invalid.json 115 additions, 0 deletions...runtime/src/test_json/default_genesis_config_invalid.json
Please register or sign in to comment